Function at 0x522f70
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 [0x5b12c4]
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x1c], esi
je 0x523314
push esi
call dword [0x5b1310]
xor ecx, ecx
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jle 0x523314
jmp 0x522fc0
mov esi, dword [esp + 0x1c]
push ecx
push esi
call dword [0x5b12a0]
mov esi, eax
add esp, 8
test esi, esi
je 0x5232fb
push esi
call dword [0x5b12c8]
add esp, 4
test eax, eax
je 0x5232fb
mov ebx, dword [eax + 8]
push esi
call dword [0x5b12dc]
mov edi, eax
add esp, 4
test edi, edi
je 0x5232fb
push edi
call dword [0x5b1274]
add eax, 0xfffffff3
add esp, 4
cmp eax, 0x23
ja case.0x52301b.19
movzx eax, byte [eax + 0x5239f4]
jmp dword [eax*4 + 0x5239d4]
push 0xff
lea ecx, [ebp + 0x228]
push ebx
push ecx
call fcn.00570120
mov byte [ebp + 0x327], 0
jmp 0x5232f8
push 0xff
lea edx, [ebp + 0x328]
push ebx
push edx
call fcn.00570120
mov byte [ebp + 0x427], 0
jmp 0x5232f8
push 0xff
lea eax, [ebp + 0x428]
push ebx
push eax
call fcn.00570120
mov byte [ebp + 0x527], 0
jmp 0x5232f8
push 0xff
lea ecx, [ebp + 0x528]
push ebx
push ecx
call fcn.00570120
mov byte [ebp + 0x627], 0
jmp 0x5232f8
push 0xff
lea edx, [ebp + 0x628]
push ebx
push edx
call fcn.00570120
mov byte [ebp + 0x727], 0
jmp 0x5232f8
push 0xff
lea eax, [ebp + 0x728]
push ebx
push eax
call fcn.00570120
mov byte [ebp + 0x827], 0
jmp 0x5232f8
push 0xff
lea ecx, [ebp + 0x828]
push ebx
push ecx
call fcn.00570120
mov byte [ebp + 0x927], 0
jmp 0x5232f8
push edi
call dword [0x5b1274]
push eax
call dword [0x5b1314]
add esp, 8
test eax, eax
je 0x523209
push edi
call dword [0x5b1274]
push eax
lea edx, [esp + 0x40]
push 0x583948
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 0x523133
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523143
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
lea edx, [esp + 0x3c]
push edx
add eax, esi
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523170
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523180
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x58ae14
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5231a6
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5231b6
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5231d8
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x5231e6
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x58ae10
push ecx
call fcn.00570120
jmp 0x5232f8
lea esi, [ebp + 0x928]
mov eax, esi
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523214
sub eax, edx
mov edx, eax
mov eax, esi
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523224
sub eax, ebp
mov ebp, eax
mov eax, 0x3ff
sub eax, edx
push eax
push edi
call dword [0x5b1274]
push eax
call dword [0x5b1314]
add esp, 8
push eax
add ebp, esi
push ebp
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523260
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523270
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x58ae14
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523296
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5232a6
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5232c8
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x5232d6
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x58ae10
push ecx
call fcn.00570120
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 0x522fbc
mov edi, dword [esp + 0x18]
push edi
call dword [0x5b1434]
mov esi, eax
add esp, 4
test esi, esi
mov dword [esp + 0x1c], esi
je 0x5236a6
push esi
call dword [0x5b1310]
xor ecx, ecx
add esp, 4
test eax, eax
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], ecx
jle 0x5236a6
jmp 0x523350
mov esi, dword [esp + 0x1c]
mov edi, edi
push ecx
push esi
call dword [0x5b12a0]
mov esi, eax
add esp, 8
test esi, esi
je 0x523691
push esi
call dword [0x5b12c8]
add esp, 4
test eax, eax
je 0x523691
mov ebx, dword [eax + 8]
push esi
call dword [0x5b12dc]
mov edi, eax
add esp, 4
test edi, edi
je 0x523691
push edi
call dword [0x5b1274]
add eax, 0xfffffff3
add esp, 4
cmp eax, 0x23
ja case.0x5233ab.19
movzx eax, byte [eax + 0x523a38]
jmp dword [eax*4 + 0x523a18]
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0xd28]
push ebx
push ecx
call fcn.00570120
mov byte [esi + 0xe27], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea edx, [esi + 0xe28]
push ebx
push edx
call fcn.00570120
mov byte [esi + 0xf27], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea eax, [esi + 0xf28]
push ebx
push eax
call fcn.00570120
mov byte [esi + 0x1027], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0x1028]
push ebx
push ecx
call fcn.00570120
mov byte [esi + 0x1127], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea edx, [esi + 0x1128]
push ebx
push edx
call fcn.00570120
mov byte [esi + 0x1227], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea eax, [esi + 0x1228]
push ebx
push eax
call fcn.00570120
mov byte [esi + 0x1327], 0
jmp 0x52368e
mov esi, dword [esp + 0x10]
push 0xff
lea ecx, [esi + 0x1328]
push ebx
push ecx
call fcn.00570120
mov byte [esi + 0x1427], 0
jmp 0x52368e
push edi
call dword [0x5b1274]
push eax
call dword [0x5b1314]
add esp, 8
test eax, eax
je 0x5235a2
push edi
call dword [0x5b1274]
push eax
lea edx, [esp + 0x40]
push 0x583948
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 0x5234e3
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5234f3
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
lea edx, [esp + 0x3c]
push edx
add eax, esi
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523520
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523530
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x58ae14
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523556
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523566
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523588
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x523596
jmp 0x523677
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 0x5235b1
sub eax, edx
mov edx, eax
mov eax, esi
lea ebp, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5235c1
sub eax, ebp
mov ebp, eax
mov eax, 0x3ff
sub eax, edx
push eax
push edi
call dword [0x5b1274]
push eax
call dword [0x5b1314]
add esp, 8
push eax
add ebp, esi
push ebp
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x5235f6
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523606
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push 0x58ae14
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523630
sub eax, edx
mov edx, eax
mov eax, esi
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523640
mov ecx, 0x3ff
sub ecx, edx
push ecx
sub eax, edi
add eax, esi
push ebx
push eax
call fcn.00570120
mov eax, esi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x523662
mov ecx, esi
sub eax, edx
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x523670
mov edx, 0x3ff
sub edx, eax
push edx
sub ecx, edi
add ecx, esi
push 0x58ae10
push ecx
call fcn.00570120
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x20]
inc ecx
cmp ecx, eax
mov dword [esp + 0x14], ecx
jl 0x52334a
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 0x5239c6
cmp dword [eax], 0xa
jl 0x5239c6
mov eax, dword [eax + 8]
cmp eax, edx
je 0x5239c6
mov cl, byte [eax + edx]
cmp cl, 0x39
ja 0x5239c6
cmp cl, 0x30
jb 0x5239c6
inc edx
cmp edx, 0xa
jl 0x5236d3
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*2 - 0x210]
cmp ebx, 0x32
jge 0x523707
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 0x5239c6
cmp ebp, 1
jl 0x5239c6
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 0x52378d
cmp cl, 0x39
ja 0x52378d
mov al, byte [eax + 0xb]
cmp al, 0x30
jb 0x52378d
cmp al, 0x39
ja 0x52378d
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 0x5239c6
cmp dword [eax], 0xa
jl 0x5239c6
mov eax, dword [eax + 8]
cmp eax, edx
je 0x5239c6
lea ecx, [ecx]
mov cl, byte [eax + edx]
cmp cl, 0x39
ja 0x5239c6
cmp cl, 0x30
jb 0x5239c6
inc edx
cmp edx, 0xa
jl 0x5237f0
movzx ecx, byte [eax]
movzx edx, byte [eax + 1]
lea ecx, [ecx + ecx*4]
lea ebx, [edx + ecx*2 - 0x210]
cmp ebx, 0x32
jge 0x523824
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 0x5239c6
cmp ebp, 1
jl 0x5239c6
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 0x5238aa
cmp cl, 0x39
ja 0x5238aa
mov al, byte [eax + 0xb]
cmp al, 0x30
jb 0x5238aa
cmp al, 0x39
ja 0x5238aa
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 0x5238fa
xor eax, eax
jmp 0x523939
mov dx, word [esp + 0x2a]
jne 0x523912
mov edi, dword [ebx + 0x1844]
movzx esi, dx
cmp edi, esi
jge 0x523912
xor eax, eax
jmp 0x523939
cmp ecx, eax
jne 0x523934
mov ecx, dword [ebx + 0x1844]
movzx eax, dx
cmp ecx, eax
jne 0x523934
movzx ecx, word [esp + 0x2e]
cmp dword [ebx + 0x1848], ecx
jge 0x523934
xor eax, eax
jmp 0x523939
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 [0x5b12a8]
mov ecx, dword [esp + 0x20]
push eax
push ecx
call dword [0x5b1298]
add esp, 0x10
test eax, eax
je 0x5239c6
lea edi, [ebx + 0x186c]
mov edx, 0x64
mov ecx, edi
call fcn.0041ef30
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 0x523995
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 0x523990
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