Function at 0x45d920
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d60a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x50
push ebx
mov ebx, ecx
push ebp
push esi
mov eax, dword [ebx + 0x80]
push edi
test eax, eax
mov dword [esp + 0x20], ebx
je 0x45ded5
mov eax, dword [ebx + 0x88]
test eax, eax
jle 0x45ded5
mov esi, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov eax, 0x2710
mov word [esp + 0x14], ax
mov word [esp + 0x16], ax
mov eax, 0xffffd8f0
lea ebp, [edi + 0xc]
mov word [esp + 0x18], ax
mov word [esp + 0x1a], ax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esi], eax
mov dword [esi + 4], ecx
mov edx, dword [edi]
mov eax, dword [edi + 4]
mov ecx, dword [edi + 8]
mov dword [esp + 0x48], edx
mov edx, dword [ebp]
mov dword [esp + 0x4c], eax
mov eax, dword [ebp + 4]
mov dword [esp + 0x50], ecx
mov ecx, dword [ebp + 8]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x68], 0
mov dword [esp + 0x24], 0x49742400
mov dword [esp + 0x28], 0x49742400
mov dword [esp + 0x2c], 0x49742400
lea edx, [esp + 0x24]
lea eax, [esp + 0x14]
push edx
push eax
mov ecx, edi
mov byte [esp + 0x70], 1
call fcn.004051b0
lea ecx, [esp + 0x74]
mov byte [esp + 0x68], 0
push ecx
lea ecx, [esp + 0x28]
mov dword [esp + 0x78], 0xc9742400
call fcn.00417d40
lea edx, [esp + 0x14]
push eax
push edx
mov ecx, ebp
mov byte [esp + 0x70], 2
call fcn.004051b0
mov al, byte [ebx + 0x74]
mov byte [esp + 0x68], 0
test al, al
mov eax, dword [ebx + 0x80]
je 0x45dc3c
cmp word [ebx + 0x84], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], 0
jle 0x45de36
cmp word [ebx + 0x86], 0
mov dword [esp + 0x74], 0
jle 0x45dc08
mov ecx, dword [esp + 0x14]
lea ebp, [ecx + 4]
mov al, byte [ebp + 8]
cmp al, 0xa
je 0x45da80
cmp al, 9
jne 0x45dbe5
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
lea ebx, [ebp - 4]
lea edx, [esp + 0x30]
push ebx
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 3
call fcn.00405230
push eax
lea eax, [esp + 0x40]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 4
call fcn.004051b0
fld dword [esp + 0x24]
fabs
fld dword [esp + 0x54]
fcompp
fnstsw ax
test ah, 1
je 0x45dae0
mov byte [esp + 0x68], 0
jmp 0x45dbe5
fld dword [esp + 0x28]
fabs
fld dword [esp + 0x58]
fcompp
fnstsw ax
test ah, 1
je 0x45dafd
mov byte [esp + 0x68], 0
jmp 0x45dbe5
fld dword [esp + 0x2c]
fabs
fld dword [esp + 0x5c]
fcompp
mov byte [esp + 0x68], 0
fnstsw ax
test ah, 1
jne 0x45dbe5
mov ax, word [esi]
mov edx, dword [esp + 0x70]
cmp ax, dx
jl 0x45db27
mov eax, edx
mov ecx, dword [esp + 0x74]
mov word [esi], ax
mov ax, word [esi + 2]
cmp ax, cx
jl 0x45db39
mov eax, ecx
mov word [esi + 2], ax
mov ax, word [esi + 4]
cmp ax, dx
jg 0x45db48
mov eax, edx
mov word [esi + 4], ax
mov ax, word [esi + 6]
cmp ax, cx
jg 0x45db57
mov eax, ecx
mov word [esi + 6], ax
fld dword [edi]
fcomp dword [ebx]
fnstsw ax
test ah, 1
je 0x45db6a
fld dword [edi]
jmp 0x45db6c
fld dword [ebx]
fstp dword [edi]
fld dword [edi + 4]
fcomp dword [ebp]
fnstsw ax
test ah, 1
je 0x45db80
fld dword [edi + 4]
jmp 0x45db83
fld dword [ebp]
fstp dword [edi + 4]
fld dword [edi + 8]
fcomp dword [ebp + 4]
fnstsw ax
test ah, 1
je 0x45db98
fld dword [edi + 8]
jmp 0x45db9b
fld dword [ebp + 4]
mov ecx, dword [esp + 0x10]
fstp dword [edi + 8]
fld dword [ecx]
fcomp dword [ebx]
fnstsw ax
test ah, 0x41
jne 0x45dbb1
fld dword [ecx]
jmp 0x45dbb3
fld dword [ebx]
fstp dword [ecx]
fld dword [edi + 0x10]
fcomp dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x45dbc7
fld dword [edi + 0x10]
jmp 0x45dbca
fld dword [ebp]
fstp dword [edi + 0x10]
fld dword [edi + 0x14]
fcomp dword [ebp + 4]
fnstsw ax
test ah, 0x41
jne 0x45dbdf
fld dword [edi + 0x14]
jmp 0x45dbe2
fld dword [ebp + 4]
fstp dword [edi + 0x14]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x20]
add eax, 2
add ebp, 0x30
cmp ax, word [ebx + 0x86]
mov dword [esp + 0x74], eax
jl 0x45da71
mov ebp, dword [esp + 0x10]
movsx eax, word [ebx + 0x86]
mov ecx, dword [esp + 0x70]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
shl edx, 4
add ecx, 2
add eax, edx
cmp cx, word [ebx + 0x84]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x14], eax
jl 0x45da54
jmp 0x45de36
cmp word [ebx + 0x84], 0
mov dword [esp + 0x14], eax
mov dword [esp + 0x70], 0
jle 0x45de36
cmp word [ebx + 0x86], 0
mov dword [esp + 0x74], 0
jle 0x45de0a
mov ecx, dword [esp + 0x14]
lea ebp, [ecx + 4]
mov al, byte [ebp + 8]
cmp al, 0xa
je 0x45dc82
cmp al, 9
jne 0x45dde7
mov dword [esp + 0x24], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
lea ebx, [ebp - 4]
lea edx, [esp + 0x3c]
push ebx
push edx
lea ecx, [esp + 0x50]
mov byte [esp + 0x70], 5
call fcn.00405230
push eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x70], 6
call fcn.004051b0
fld dword [esp + 0x24]
fabs
fld dword [esp + 0x54]
fcompp
fnstsw ax
test ah, 1
je 0x45dce2
mov byte [esp + 0x68], 0
jmp 0x45dde7
fld dword [esp + 0x28]
fabs
fld dword [esp + 0x58]
fcompp
fnstsw ax
test ah, 1
je 0x45dcff
mov byte [esp + 0x68], 0
jmp 0x45dde7
fld dword [esp + 0x2c]
fabs
fld dword [esp + 0x5c]
fcompp
mov byte [esp + 0x68], 0
fnstsw ax
test ah, 1
jne 0x45dde7
mov ax, word [esi]
mov edx, dword [esp + 0x70]
cmp ax, dx
jl 0x45dd29
mov eax, edx
mov ecx, dword [esp + 0x74]
mov word [esi], ax
mov ax, word [esi + 2]
cmp ax, cx
jl 0x45dd3b
mov eax, ecx
mov word [esi + 2], ax
mov ax, word [esi + 4]
cmp ax, dx
jg 0x45dd4a
mov eax, edx
mov word [esi + 4], ax
mov ax, word [esi + 6]
cmp ax, cx
jg 0x45dd59
mov eax, ecx
mov word [esi + 6], ax
fld dword [edi]
fcomp dword [ebx]
fnstsw ax
test ah, 1
je 0x45dd6c
fld dword [edi]
jmp 0x45dd6e
fld dword [ebx]
fstp dword [edi]
fld dword [edi + 4]
fcomp dword [ebp]
fnstsw ax
test ah, 1
je 0x45dd82
fld dword [edi + 4]
jmp 0x45dd85
fld dword [ebp]
fstp dword [edi + 4]
fld dword [edi + 8]
fcomp dword [ebp + 4]
fnstsw ax
test ah, 1
je 0x45dd9a
fld dword [edi + 8]
jmp 0x45dd9d
fld dword [ebp + 4]
mov ecx, dword [esp + 0x10]
fstp dword [edi + 8]
fld dword [ecx]
fcomp dword [ebx]
fnstsw ax
test ah, 0x41
jne 0x45ddb3
fld dword [ecx]
jmp 0x45ddb5
fld dword [ebx]
fstp dword [ecx]
fld dword [edi + 0x10]
fcomp dword [ebp]
fnstsw ax
test ah, 0x41
jne 0x45ddc9
fld dword [edi + 0x10]
jmp 0x45ddcc
fld dword [ebp]
fstp dword [edi + 0x10]
fld dword [edi + 0x14]
fcomp dword [ebp + 4]
fnstsw ax
test ah, 0x41
jne 0x45dde1
fld dword [edi + 0x14]
jmp 0x45dde4
fld dword [ebp + 4]
fstp dword [edi + 0x14]
mov eax, dword [esp + 0x74]
mov ebx, dword [esp + 0x20]
add eax, 2
add ebp, 0x20
cmp ax, word [ebx + 0x86]
mov dword [esp + 0x74], eax
jl 0x45dc73
mov ebp, dword [esp + 0x10]
movsx ecx, word [ebx + 0x86]
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x14]
shl ecx, 5
add eax, 2
add edx, ecx
cmp ax, word [ebx + 0x84]
mov dword [esp + 0x70], eax
mov dword [esp + 0x14], edx
jl 0x45dc56
movsx edx, word [esi]
movsx eax, word [esi + 4]
add edx, 6
cmp edx, eax
jge 0x45ded5
movsx ecx, word [esi + 2]
movsx edx, word [esi + 6]
add ecx, 6
cmp ecx, edx
jge 0x45ded5
mov ecx, edi
call fcn.00425d30
lea eax, [ebx + 0x7c]
lea ecx, [esp + 0x3c]
push eax
call fcn.00417d40
lea ecx, [esp + 0x30]
push eax
push ecx
mov ecx, ebp
mov byte [esp + 0x70], 7
call fcn.00405270
movsx eax, word [esi]
lea ecx, [eax - 1]
cmp ecx, 1
jl 0x45de8a
mov eax, ecx
mov word [esi], ax
movsx eax, word [esi + 2]
lea ecx, [eax - 1]
cmp ecx, 1
jl 0x45de9b
mov eax, ecx
mov word [esi + 2], ax
movsx eax, word [esi + 4]
movsx edx, word [ebx + 0x84]
lea ecx, [eax + 1]
dec edx
cmp ecx, edx
jge 0x45deb4
mov eax, ecx
mov word [esi + 4], ax
movsx eax, word [esi + 6]
movsx edx, word [ebx + 0x86]
lea ecx, [eax + 1]
dec edx
cmp ecx, edx
jge 0x45decd
mov eax, ecx
mov word [esi + 6], ax
mov al, 1
jmp 0x45ded7
xor al, al
mov ecx, dword [esp + 0x60]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x5c
ret 8