Function at 0x5358c0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x8c
push ebx
push ebp
push esi
push edi
mov edi, ecx
mov ebp, edx
push edi
mov dword [esp + 0x14], ebp
mov dword [esp + 0x1c], edi
call dword [0x5f663c]
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x1c], esi
je 0x535c64
push esi
call dword [0x5f6688]
xor ecx, ecx
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jle 0x535c64
jmp 0x535910
mov esi, dword [esp + 0x1c]
push ecx
push esi
call dword [0x5f6618]
mov esi, eax
add esp, 8
test esi, esi
je 0x535c4b
push esi
call dword [0x5f6640]
add esp, 4
test eax, eax
je 0x535c4b
mov ebx, dword [eax + 8]
push esi
call dword [0x5f6654]
mov edi, eax
add esp, 4
test edi, edi
je 0x535c4b
push edi
call dword [0x5f65ec]
add eax, 0xfffffff3
add esp, 4
cmp eax, 0x23
ja case.0x53596b.19
movzx eax, byte [eax + 0x536344]
jmp dword [eax*4 + 0x536324]
push 0xff
lea ecx, [ebp + 0x228]
push ebx
push ecx
call fcn.005911a0
mov byte [ebp + 0x327], 0
jmp 0x535c48
push 0xff
lea edx, [ebp + 0x328]
push ebx
push edx
call fcn.005911a0
mov byte [ebp + 0x427], 0
jmp 0x535c48
push 0xff
lea eax, [ebp + 0x428]
push ebx
push eax
call fcn.005911a0
mov byte [ebp + 0x527], 0
jmp 0x535c48
push 0xff
lea ecx, [ebp + 0x528]
push ebx
push ecx
call fcn.005911a0
mov byte [ebp + 0x627], 0
jmp 0x535c48
push 0xff
lea edx, [ebp + 0x628]
push ebx
push edx
call fcn.005911a0
mov byte [ebp + 0x727], 0
jmp 0x535c48
push 0xff
lea eax, [ebp + 0x728]
push ebx
push eax
call fcn.005911a0
mov byte [ebp + 0x827], 0
jmp 0x535c48
push 0xff
lea ecx, [ebp + 0x828]
push ebx
push ecx
call fcn.005911a0
mov byte [ebp + 0x927], 0
jmp 0x535c48
push edi
call dword [0x5f65ec]
push eax
call dword [0x5f668c]
add esp, 8
test eax, eax
je 0x535b59
push edi
call dword [0x5f65ec]
push eax
lea edx, [esp + 0x40]
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
lea esi, [ebp + 0x928]
mov eax, esi
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535a83
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535a93
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
lea edx, [esp + 0x3c]
push edx
add eax, esi
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535ac0
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535ad0
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x5accd0
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535af6
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535b06
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535b28
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x535b36
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x5acccc
push ecx
call fcn.005911a0
jmp 0x535c48
lea esi, [ebp + 0x928]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535b64
sub eax, edx
mov edx, eax
mov eax, esi
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535b74
sub eax, ebp
mov ebp, eax
mov eax, 0x3ff
sub eax, edx
push eax
push edi
call dword [0x5f65ec]
push eax
call dword [0x5f668c]
add esp, 8
push eax
add ebp, esi
push ebp
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535bb0
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535bc0
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x5accd0
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535be6
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535bf6
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535c18
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x535c26
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x5acccc
push ecx
call fcn.005911a0
mov ebp, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x53590c
mov edi, dword [esp + 0x18]
push edi
call dword [0x5f67ac]
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x1c], esi
je 0x535ff6
push esi
call dword [0x5f6688]
xor ecx, ecx
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jle 0x535ff6
jmp 0x535ca0
mov esi, dword [esp + 0x1c]
mov edi, edi
push ecx
push esi
call dword [0x5f6618]
mov esi, eax
add esp, 8
test esi, esi
je 0x535fe1
push esi
call dword [0x5f6640]
add esp, 4
test eax, eax
je 0x535fe1
mov ebx, dword [eax + 8]
push esi
call dword [0x5f6654]
mov edi, eax
add esp, 4
test edi, edi
je 0x535fe1
push edi
call dword [0x5f65ec]
add eax, 0xfffffff3
add esp, 4
cmp eax, 0x23
ja case.0x535cfb.19
movzx eax, byte [eax + 0x536388]
jmp dword [eax*4 + 0x536368]
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0xd28]
push ebx
push ecx
call fcn.005911a0
mov byte [esi + 0xe27], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea edx, [esi + 0xe28]
push ebx
push edx
call fcn.005911a0
mov byte [esi + 0xf27], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea eax, [esi + 0xf28]
push ebx
push eax
call fcn.005911a0
mov byte [esi + 0x1027], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0x1028]
push ebx
push ecx
call fcn.005911a0
mov byte [esi + 0x1127], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea edx, [esi + 0x1128]
push ebx
push edx
call fcn.005911a0
mov byte [esi + 0x1227], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea eax, [esi + 0x1228]
push ebx
push eax
call fcn.005911a0
mov byte [esi + 0x1327], 0
jmp 0x535fde
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0x1328]
push ebx
push ecx
call fcn.005911a0
mov byte [esi + 0x1427], 0
jmp 0x535fde
push edi
call dword [0x5f65ec]
push eax
call dword [0x5f668c]
add esp, 8
test eax, eax
je 0x535ef2
push edi
call dword [0x5f65ec]
push eax
lea edx, [esp + 0x40]
push 0x5a4998
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov esi, dword [esp + 0x20]
add esp, 0x10
add esi, 0x1428
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535e33
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535e43
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
lea edx, [esp + 0x3c]
push edx
add eax, esi
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535e70
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535e80
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x5accd0
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535ea6
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535eb6
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535ed8
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x535ee6
jmp 0x535fc7
mov esi, dword [esp + 0x10]
add esi, 0x1428
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f01
sub eax, edx
mov edx, eax
mov eax, esi
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f11
sub eax, ebp
mov ebp, eax
mov eax, 0x3ff
sub eax, edx
push eax
push edi
call dword [0x5f65ec]
push eax
call dword [0x5f668c]
add esp, 8
push eax
add ebp, esi
push ebp
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f46
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f56
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x5accd0
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f80
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535f90
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.005911a0
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x535fb2
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x535fc0
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x5acccc
push ecx
call fcn.005911a0
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x535c9a
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x14], edx
je 0x536316
cmp dword [eax], 0xa
jl 0x536316
mov eax, dword [eax + 8]
cmp eax, edx
je 0x536316
mov cl, byte [eax + edx]
cmp cl, 0x39
ja 0x536316
cmp cl, 0x30
jb 0x536316
inc edx
cmp edx, 0xa
jl 0x536023
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*2 - 0x210]
cmp ebx, 0x32
jge 0x536057
add ebx, 0x64
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
lea ecx, [ecx + ecx*4]
lea ebp, [edx + ecx*2 - 0x210]
cmp ebp, 0xc
jg 0x536316
cmp ebp, 1
jl 0x536316
movzx ecx, byte [eax + 4]
movzx edx, byte [eax + 5]
movzx esi, byte [eax + 7]
movzx edi, byte [eax + 9]
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*2 - 0x210]
movzx ecx, byte [eax + 6]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*2 - 0x210]
movzx ecx, byte [eax + 8]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*2 - 0x210]
mov cl, byte [eax + 0xa]
cmp cl, 0x30
jb 0x5360dd
cmp cl, 0x39
ja 0x5360dd
mov al, byte [eax + 0xb]
cmp al, 0x30
jb 0x5360dd
cmp al, 0x39
ja 0x5360dd
movzx ecx, cl
movzx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x210]
mov dword [esp + 0x14], ecx
mov eax, dword [esp + 0x10]
mov dword [eax + 0x1830], edx
mov edx, dword [esp + 0x14]
mov dword [eax + 0x183c], edx
add ebx, 0x76c
mov dword [eax + 0x1828], ebx
mov dword [eax + 0x182c], ebp
mov dword [eax + 0x1834], esi
mov dword [eax + 0x1838], edi
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 4]
xor edx, edx
cmp eax, edx
mov dword [esp + 0x14], edx
je 0x536316
cmp dword [eax], 0xa
jl 0x536316
mov eax, dword [eax + 8]
cmp eax, edx
je 0x536316
lea ecx, [ecx]
mov cl, byte [eax + edx]
cmp cl, 0x39
ja 0x536316
cmp cl, 0x30
jb 0x536316
inc edx
cmp edx, 0xa
jl 0x536140
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*2 - 0x210]
cmp ebx, 0x32
jge 0x536174
add ebx, 0x64
movzx ecx, byte [eax + 2]
movzx edx, byte [eax + 3]
lea ecx, [ecx + ecx*4]
lea ebp, [edx + ecx*2 - 0x210]
cmp ebp, 0xc
jg 0x536316
cmp ebp, 1
jl 0x536316
movzx ecx, byte [eax + 4]
movzx edx, byte [eax + 5]
movzx esi, byte [eax + 7]
movzx edi, byte [eax + 9]
lea ecx, [ecx + ecx*4]
lea edx, [edx + ecx*2 - 0x210]
movzx ecx, byte [eax + 6]
lea ecx, [ecx + ecx*4]
lea esi, [esi + ecx*2 - 0x210]
movzx ecx, byte [eax + 8]
lea ecx, [ecx + ecx*4]
lea edi, [edi + ecx*2 - 0x210]
mov cl, byte [eax + 0xa]
cmp cl, 0x30
jb 0x5361fa
cmp cl, 0x39
ja 0x5361fa
mov al, byte [eax + 0xb]
cmp al, 0x30
jb 0x5361fa
cmp al, 0x39
ja 0x5361fa
movzx ecx, cl
movzx eax, al
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*2 - 0x210]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x14]
lea eax, [ebx + 0x76c]
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x1848], edx
lea edx, [esp + 0x28]
push edx
mov dword [ebx + 0x1840], eax
mov dword [ebx + 0x1844], ebp
mov dword [ebx + 0x184c], esi
mov dword [ebx + 0x1850], edi
mov dword [ebx + 0x1854], ecx
call dword [sym.imp.KERNEL32.dll_GetLocalTime]
movzx eax, word [esp + 0x28]
mov ecx, dword [ebx + 0x1840]
cmp ecx, eax
jge 0x53624a
xor eax, eax
jmp 0x536289
mov dx, word [esp + 0x2a]
jne 0x536262
mov edi, dword [ebx + 0x1844]
movzx esi, dx
cmp edi, esi
jge 0x536262
xor eax, eax
jmp 0x536289
cmp ecx, eax
jne 0x536284
mov ecx, dword [ebx + 0x1844]
movzx eax, dx
cmp ecx, eax
jne 0x536284
movzx ecx, word [esp + 0x2e]
cmp dword [ebx + 0x1848], ecx
jge 0x536284
xor eax, eax
jmp 0x536289
mov eax, 1
xor edx, edx
test eax, eax
sete dl
lea eax, [esp + 0x24]
push eax
lea ebp, [ebx + 0x1858]
push ebp
mov dword [esp + 0x2c], 0x14
mov dword [ebx + 0x218], edx
call dword [0x5f6620]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [0x5f6610]
add esp, 0x10
test eax, eax
je 0x536316
lea edi, [ebx + 0x186c]
mov edx, 0x64
mov ecx, edi
call fcn.00420e60
mov ebx, dword [sym.imp.USER32.dll_wsprintfA]
xor esi, esi
lea ecx, [ecx]
mov eax, edi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5362e5
sub eax, edx
movzx edx, byte [esi + ebp]
push edx
add eax, edi
push str._02X
push eax
call ebx
add esp, 0xc
inc esi
cmp esi, 0x14
jl 0x5362e0
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x8c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret