Function at 0x4539f0
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x14
mov dx, word [0x46cdc0]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
mov ebp, dword [esp + 0x38]
movsx eax, word [esi]
push edi
lea ecx, [eax*8]
sub ecx, eax
mov word [ebx + ecx*2 + 4], dx
mov dl, byte [0x46ba38]
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebx + ecx*2 + 6], dl
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov eax, ebp
lea edx, [ebx + ecx*2 + 7]
mov ecx, dword [eax]
mov dword [edx], ecx
mov cx, word [eax + 4]
mov word [edx + 4], cx
mov al, byte [eax + 6]
mov byte [edx + 6], al
mov cx, word [esi]
movsx eax, cx
inc eax
lea edx, [eax*8]
sub edx, eax
inc ecx
cmp word [esp + 0x28], 1
mov word [esi], cx
mov ecx, dword [ebp + 0xd]
lea eax, [ebx + edx*2]
mov dword [eax], ecx
jne 0x453b54
movsx ecx, word [ebp + 0x18]
xor edx, edx
mov edi, dword [sym.imp.MSVCRT.dll_sprintf]
mov dword [esp + 0x10], edx
mov eax, 0x30303030
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], eax
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], edx
push ecx
mov dword [esp + 0x24], edx
lea edx, [esp + 0x14]
mov word [esp + 0x1c], ax
push str._01d
push edx
mov byte [esp + 0x26], al
call edi
mov eax, dword [ebp + 0x14]
add esp, 0xc
lea ecx, [esp + 0x11]
push eax
push str._05ld
push ecx
call edi
movsx eax, word [ebp + 0x1e]
mov dx, word [ebp + 0x1a]
add esp, 0xc
lea ecx, [esp + 0x18]
mov word [esp + 0x16], dx
push eax
push str._03d
push ecx
call edi
movsx eax, word [esi]
add esp, 0xc
lea edx, [eax*8]
sub edx, eax
mov ax, word [0x46cdc0]
mov word [ebx + edx*2 + 4], ax
mov dl, byte [0x46ba48]
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebx + ecx*2 + 6], dl
mov cx, word [esi]
movsx eax, cx
lea edx, [eax*8]
sub edx, eax
inc ecx
mov word [esi], cx
mov ecx, dword [esp + 0x10]
lea eax, [ebx + edx*2 + 7]
mov dword [eax], ecx
mov edx, dword [esp + 0x14]
mov dword [eax + 4], edx
mov cx, word [esp + 0x18]
mov word [eax + 8], cx
mov dl, byte [esp + 0x1a]
mov byte [eax + 0xa], dl
movsx eax, word [esi]
mov dx, word [0x46cdc0]
lea ecx, [eax*8]
sub ecx, eax
mov word [ebx + ecx*2 + 4], dx
mov dl, byte [0x46cb58]
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebx + ecx*2 + 6], dl
mov ax, word [esi]
movsx ecx, ax
lea edx, [ecx*8]
sub edx, ecx
inc eax
mov word [esi], ax
lea eax, [ebp + 7]
lea ecx, [ebx + edx*2 + 7]
mov edx, dword [eax]
mov dword [ecx], edx
mov al, byte [eax + 4]
mov byte [ecx + 4], al
mov edx, dword [0x534800]
add edx, 0x339
mov ecx, 0x46ba38
mov al, byte [edx]
mov dl, byte [ecx]
cmp al, dl
jne 0x453d44
lea edx, [ebp + 0x22c]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453c3e
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x4738c8]
mov word [ebx + ecx*2 + 4], ax
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [0x46ba38]
mov byte [ebx + ecx*2 + 6], al
mov ax, word [esi]
movsx ecx, ax
lea edi, [ecx*8]
sub edi, ecx
inc eax
mov word [esi], ax
mov eax, dword [edx]
lea ecx, [ebx + edi*2 + 7]
mov dword [ecx], eax
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
cmp word [esi], 7
jl 0x453c3e
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push esi
push ecx
call fcn.0045a9e0
add esp, 0x10
lea edx, [ebp + 0x234]
or ecx, 0xffffffff
mov edi, edx
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453cbb
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x4738c8]
mov word [ebx + ecx*2 + 4], ax
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [0x46ba48]
mov byte [ebx + ecx*2 + 6], al
mov ax, word [esi]
movsx ecx, ax
lea edi, [ecx*8]
sub edi, ecx
inc eax
mov word [esi], ax
mov eax, dword [edx]
lea ecx, [ebx + edi*2 + 7]
mov dword [ecx], eax
mov dx, word [edx + 4]
mov word [ecx + 4], dx
cmp word [esi], 7
jl 0x453cbb
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push esi
push ecx
call fcn.0045a9e0
add esp, 0x10
add ebp, 0x23a
or ecx, 0xffffffff
mov edi, ebp
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
je 0x453de8
movsx eax, word [esi]
lea edx, [eax*8]
sub edx, eax
mov ax, word [0x46cf98]
mov word [ebx + edx*2 + 4], ax
mov dl, byte [0x46ba38]
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov byte [ebx + ecx*2 + 6], dl
mov ax, word [esi]
movsx ecx, ax
lea edx, [ecx*8]
sub edx, ecx
inc eax
mov word [esi], ax
mov eax, dword [ebp]
lea ecx, [ebx + edx*2 + 7]
mov dword [ecx], eax
cmp word [esi], 7
jl 0x453de8
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push ebx
push ecx
push esi
push edx
call fcn.0045a9e0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x14
ret
lea edx, [ebp + 0x234]
mov ebp, 0x4738ec
mov edi, edx
mov cl, byte [edi]
mov al, cl
cmp cl, byte [ebp]
jne 0x453d76
test al, al
je 0x453d72
mov cl, byte [edi + 1]
mov al, cl
cmp cl, byte [ebp + 1]
jne 0x453d76
add edi, 2
add ebp, 2
test al, al
jne 0x453d51
xor eax, eax
jmp 0x453d7b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x453de8
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov ax, word [0x4738c8]
mov word [ebx + ecx*2 + 4], ax
movsx eax, word [esi]
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [0x46ba48]
mov byte [ebx + ecx*2 + 6], al
mov ax, word [esi]
movsx ecx, ax
lea edi, [ecx*8]
sub edi, ecx
inc eax
mov word [esi], ax
mov eax, dword [edx]
lea ecx, [ebx + edi*2 + 7]
mov dword [ecx], eax
mov dx, word [edx + 4]
mov word [ecx + 4], dx
cmp word [esi], 7
jl 0x453de8
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
push ebx
push eax
push esi
push ecx
call fcn.0045a9e0
add esp, 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x14
ret