Function at 0x45a850
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x466dbe
mov eax, dword fs:[0]
push eax
sub esp, 0x78
push ebx
push esi
push edi
mov eax, dword [0x479008]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x48], edx
mov esi, ecx
mov edi, dword [ebp + 8]
xor ebx, ebx
mov ecx, dword [ebp + 0xc]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x44], ebx
cmp dword [edi + 4], ebx
jbe 0x45ad95
mov eax, dword [edi]
mov edi, dword [eax + ebx*4]
cmp dword [edi + 0x7c], 0
lea ebx, [edi + 0x78]
mov dword [ebp - 0x34], edi
jne 0x45a8d5
cmp dword [ebx + 8], 0
jne 0x45a8d5
cmp byte [ebx + 2], 0
jne 0x45a8b9
cmp byte [ebx], 0
jne 0x45a8d5
cmp byte [ebx + 1], 0
jne 0x45a8d5
cmp dword [ebx + 0x1c], 0
jne 0x45a8d5
cmp dword [ebx + 0x28], 0
jne 0x45a8d5
cmp dword [ebx + 0xc], 0
jl 0x45ad82
mov edx, dword [esi + 4]
test edx, edx
jne 0x45a96a
xor edi, edi
cmp word [ecx], di
je 0x45a8ef
inc edi
cmp word [ecx + edi*2], 0
jne 0x45a8e7
xor ecx, ecx
cmp edi, dword [esi + 8]
jbe 0x45a924
mov eax, edi
mov ecx, 0x3ffffffe
shr eax, 1
add eax, 0x10
add eax, edi
and eax, 0xfffffff0
dec eax
cmp eax, 0x3ffffffe
cmova eax, ecx
cmp eax, edi
jb 0x45b27e
dec eax
mov ecx, esi
push eax
call fcn.00434c20
mov ecx, dword [esi + 4]
mov eax, dword [esi]
lea ecx, [eax + ecx*2]
lea eax, [edi*2 + 2]
push eax
push dword [ebp - 0x18]
push ecx
call fcn.0041f8c0
add dword [esi + 4], edi
add esp, 0xc
mov edx, dword [esi + 4]
cmp dword [esi + 8], edx
jne 0x45a952
mov ecx, esi
call fcn.00435630
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ecx, 0xa
mov edi, dword [ebp - 0x34]
mov word [eax + edx*2], cx
inc edx
xor ecx, ecx
mov word [eax + edx*2], cx
mov dword [esi + 4], edx
cmp dword [ebp - 0x44], 0
je 0x45aa12
mov eax, dword [esi + 8]
mov edi, dword [edi + 0x1c]
sub eax, edx
cmp edi, eax
jbe 0x45a9c9
lea ecx, [edx + edi]
mov eax, ecx
add ecx, 0x10
shr eax, 1
add ecx, eax
and ecx, 0xfffffff0
dec ecx
cmp ecx, edx
jb 0x45a99c
cmp ecx, 0x3ffffffe
jbe 0x45a9a1
mov ecx, 0x3ffffffe
cmp ecx, edx
jbe 0x45b27e
mov eax, ecx
sub eax, edx
cmp eax, edi
jb 0x45b27e
lea eax, [ecx - 1]
mov ecx, esi
push eax
call fcn.00434c20
mov edi, dword [ebp - 0x34]
mov edx, dword [esi + 4]
mov edi, dword [edi + 0x1c]
mov eax, dword [esi]
lea ecx, [eax + edx*2]
lea eax, [edi*2 + 2]
mov edi, dword [ebp - 0x34]
push eax
push dword [edi + 0x18]
push ecx
call fcn.0041f8c0
mov eax, dword [edi + 0x1c]
add esp, 0xc
add dword [esi + 4], eax
mov ecx, dword [esi + 4]
cmp dword [esi + 8], ecx
jne 0x45a9fd
mov ecx, esi
call fcn.00435630
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0xa
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
mov dword [esi + 4], ecx
mov edx, ebx
mov ecx, esi
call fcn.0045b380
cmp dword [ebx + 0xc], 0
jl 0x45ad7f
mov edx, 0x431
lea ecx, [ebp - 0x30]
call fcn.0043b580
mov dword [ebp - 4], 0
mov edi, dword [ebp - 0x2c]
test edi, edi
je 0x45aa88
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], edi
mov dword [ebp - 0x1c], edi
lea ecx, [ecx*2 + 2]
push ecx
push dword [ebp - 0x30]
push eax
call fcn.0041f8c0
push dword [ebp - 0x30]
call fcn.0041bebc
add esp, 0x14
mov dword [ebp - 0x10], edi
mov ecx, edi
jmp 0x45aaf0
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x30]
call fcn.0041bebc
add esp, 4
xor edi, edi
nop dword [eax]
inc edi
cmp word [edi*2 + 0x46e6c0], 0
jne 0x45aaa0
xor ecx, ecx
lea eax, [edi + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
mov ecx, eax
mov dword [ebp - 0x20], edi
lea eax, [edi*2 + 2]
mov dword [ebp - 0x24], ecx
push eax
push 0x46e6c0
push ecx
mov dword [ebp - 0x1c], edi
call fcn.0041f8c0
mov ecx, edi
add esp, 0x10
mov dword [ebp - 0x10], ecx
nop dword [eax + eax]
mov dword [ebp - 4], 1
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
sub eax, edx
cmp ecx, eax
jbe 0x45ab48
mov ecx, dword [ebp - 0x10]
add ecx, edx
mov eax, ecx
add ecx, 0x10
shr eax, 1
add ecx, eax
and ecx, 0xfffffff0
dec ecx
cmp ecx, edx
jb 0x45ab21
cmp ecx, 0x3ffffffe
jbe 0x45ab26
mov ecx, 0x3ffffffe
cmp ecx, edx
jbe 0x45b27e
mov eax, ecx
sub eax, edx
cmp eax, edi
jb 0x45b27e
lea eax, [ecx - 1]
mov ecx, esi
push eax
call fcn.00434c20
mov edx, dword [esi + 4]
mov eax, dword [esi]
lea ecx, [eax + edx*2]
lea eax, [edi*2 + 2]
push eax
push dword [ebp - 0x24]
push ecx
call fcn.0041f8c0
add dword [esi + 4], edi
add esp, 0xc
mov ecx, dword [esi + 4]
cmp dword [esi + 8], ecx
jne 0x45ab76
mov ecx, esi
call fcn.00435630
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edi, 0xa
xor edx, edx
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x24]
mov word [eax + ecx*2], di
inc ecx
mov word [eax + ecx*2], dx
mov dword [esi + 4], ecx
call fcn.0041bebc
mov ecx, dword [ebx + 0xc]
add esp, 4
mov ebx, dword [ebp - 0x34]
cmp dword [ebx + 0x3c], ecx
jne 0x45ac24
mov edx, 0xbcb
lea ecx, [ebp - 0x54]
call fcn.0043b580
mov dword [ebp - 4], 2
mov ecx, esi
push dword [ebp - 0x50]
call fcn.00434b00
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov edx, dword [ebp - 0x50]
lea ecx, [eax + ecx*2]
lea eax, [edx*2 + 2]
push eax
push dword [ebp - 0x54]
push ecx
call fcn.0041f8c0
mov eax, dword [ebp - 0x50]
add esp, 0xc
add dword [esi + 4], eax
mov ecx, dword [esi + 4]
cmp dword [esi + 8], ecx
jne 0x45abfd
mov ecx, esi
call fcn.00435630
mov ecx, dword [esi + 4]
mov eax, dword [esi]
xor edx, edx
mov dword [ebp - 4], 0xffffffff
mov word [eax + ecx*2], di
inc ecx
mov word [eax + ecx*2], dx
push dword [ebp - 0x54]
mov dword [esi + 4], ecx
call fcn.0041bebc
add esp, 4
jmp 0x45ad7f
test ecx, ecx
jns 0x45ac2f
mov edx, 0x46e69c
jmp 0x45ac3b
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x10]
lea ecx, [ebp - 0x78]
call fcn.0045b2a0
push eax
mov edx, 0xbc9
mov dword [ebp - 4], 3
lea ecx, [ebp - 0x6c]
call fcn.0045c710
mov edi, eax
mov byte [ebp - 4], 4
mov ecx, esi
push dword [edi + 4]
call fcn.00434b00
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea ecx, [eax + ecx*2]
mov eax, dword [edi + 4]
lea eax, [eax*2 + 2]
push eax
push dword [edi]
push ecx
call fcn.0041f8c0
mov eax, dword [edi + 4]
add esp, 0xc
add dword [esi + 4], eax
mov ecx, dword [esi + 4]
cmp dword [esi + 8], ecx
jne 0x45ac9e
mov ecx, esi
call fcn.00435630
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0xa
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
push dword [ebp - 0x6c]
mov dword [esi + 4], ecx
call fcn.0041bebc
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x78]
call fcn.0041bebc
mov ecx, dword [ebx + 0x3c]
add esp, 8
test ecx, ecx
jns 0x45acdb
mov edx, 0x46e69c
jmp 0x45ace7
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
mov edx, dword [eax + 0x10]
lea ecx, [ebp - 0x60]
call fcn.0045b2a0
push eax
mov edx, 0xbca
mov dword [ebp - 4], 5
lea ecx, [ebp - 0x84]
call fcn.0045c710
mov edi, eax
mov byte [ebp - 4], 6
mov ecx, esi
push dword [edi + 4]
call fcn.00434b00
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea ecx, [eax + ecx*2]
mov eax, dword [edi + 4]
lea eax, [eax*2 + 2]
push eax
push dword [edi]
push ecx
call fcn.0041f8c0
mov eax, dword [edi + 4]
add esp, 0xc
add dword [esi + 4], eax
mov ecx, dword [esi + 4]
cmp dword [esi + 8], ecx
jne 0x45ad4d
mov ecx, esi
call fcn.00435630
mov ecx, dword [esi + 4]
mov eax, dword [esi]
mov edx, 0xa
mov word [eax + ecx*2], dx
inc ecx
xor edx, edx
mov word [eax + ecx*2], dx
push dword [ebp - 0x84]
mov dword [esi + 4], ecx
call fcn.0041bebc
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x60]
call fcn.0041bebc
add esp, 8
mov ecx, dword [ebp - 0x18]
mov ebx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x14]
inc ebx
mov dword [ebp - 0x44], ebx
cmp ebx, dword [edi + 4]
jb 0x45a897
cmp dword [edi + 0x3c], 0
jge 0x45ada5
cmp dword [ebp + 0x10], 0
je 0x45b24f
xor ebx, ebx
mov dword [ebp - 0x10], ebx
cmp word [ecx], bx
je 0x45adbb
nop
inc ebx
cmp word [ecx + ebx*2], 0
jne 0x45adb0
mov dword [ebp - 0x10], ebx
mov eax, dword [esi + 8]
mov edx, dword [esi + 4]
sub eax, edx
cmp ebx, eax
jbe 0x45ae41
lea ecx, [edx + ebx]
mov eax, ecx
shr eax, 1
add eax, 0x10
add eax, ecx
and eax, 0xfffffff0
dec eax
cmp eax, edx
jb 0x45ade2
cmp eax, 0x3ffffffe
jbe 0x45ade7
mov eax, 0x3ffffffe
cmp eax, edx
jbe 0x45b27e
mov ecx, eax
sub ecx, edx
cmp ecx, ebx
jb 0x45b27e
xor ecx, ecx
lea ebx, [eax - 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
mov ecx, dword [esi + 4]
mov edi, eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [esi]
push edi
call fcn.0041f8c0
push dword [esi]
call fcn.0041bebc
mov edx, dword [esi + 4]
add esp, 0x14
mov dword [esi], edi
mov edi, dword [ebp - 0x14]
mov dword [esi + 8], ebx
mov ebx, dword [ebp - 0x10]
mov eax, dword [esi]
lea ecx, [eax + edx*2]
lea eax, [ebx*2 + 2]
push eax
push dword [ebp - 0x18]
push ecx
call fcn.0041f8c0
mov edx, dword [esi + 4]
add esp, 0xc
add edx, ebx
mov dword [esi + 4], edx
cmp dword [esi + 8], edx
jne 0x45ae71
mov ecx, esi
call fcn.00435630
mov edx, dword [esi + 4]
mov eax, dword [esi]
mov ebx, 0xa
xor ecx, ecx
mov word [eax + edx*2], bx
inc edx
mov word [eax + edx*2], cx
mov dword [esi + 4], edx
cmp dword [edi + 4], ecx
je 0x45af28
mov eax, dword [esi + 8]
mov edi, dword [edi + 0x28]
sub eax, edx
cmp edi, eax
jbe 0x45aee4
lea ecx, [edi + edx]
mov eax, ecx
add ecx, 0x10
shr eax, 1
add ecx, eax
and ecx, 0xfffffff0
dec ecx
cmp ecx, edx
jb 0x45aeb7
cmp ecx, 0x3ffffffe
jbe 0x45aebc
mov ecx, 0x3ffffffe
cmp ecx, edx
jbe 0x45b27e
mov eax, ecx
sub eax, edx
cmp eax, edi
jb 0x45b27e
lea eax, [ecx - 1]
mov ecx, esi
push eax
call fcn.00434c20
mov ecx, dword [ebp - 0x14]
mov edx, dword [esi + 4]
mov edi, dword [ecx + 0x28]
mov eax, dword [esi]
lea ecx, [eax + edx*2]
lea eax, [edi*2 + 2]
mov edi, dword [ebp - 0x14]
push eax
push dword [edi + 0x24]
push ecx
call fcn.0041f8c0
mov eax, dword [esi + 4]
add esp, 0xc
add eax, dword [edi + 0x28]
mov dword [esi + 4], eax
cmp dword [esi + 8], eax
jne 0x45af18
mov ecx, esi
call fcn.00435630
mov eax, dword [esi + 4]
mov ecx, dword [esi]
mov word [ecx + eax*2], bx
inc eax
xor edx, edx
mov word [ecx + eax*2], dx
mov dword [esi + 4], eax
cmp dword [edi + 0x3c], 0
jge 0x45af9d
mov eax, dword [ebp + 0x10]
cmp eax, 1
je 0x45af9d
lea ecx, [ebp - 0x40]
cmp eax, 0x8007000e
jne 0x45af4c
mov edx, 0xbb8
call fcn.0043b580
jmp 0x45af53
mov edx, eax
call fcn.004379a0
mov dword [ebp - 4], 0xe
mov ecx, esi
push dword [ebp - 0x3c]
call fcn.00434b00
mov eax, dword [esi]
mov ecx, dword [esi + 4]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x3c]
lea eax, [eax*2 + 2]
push eax
push dword [ebp - 0x40]
push ecx
call fcn.0041f8c0
mov eax, dword [ebp - 0x3c]
add dword [esi + 4], eax
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x40]
call fcn.0041bebc
add esp, 0x10
jmp 0x45b223
push 8
mov edi, 0xbbd
call fcn.0041bfdb
xor ecx, ecx
mov dword [ebp - 0x54], eax
add esp, 4
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x4c], 3
mov word [eax], cx
mov ecx, dword [ebp - 0x14]
mov dword [ebp - 4], 7
cmp byte [ecx + 0x21], 0
je 0x45afd9
mov edi, 0xbbe
jmp 0x45b015
mov ecx, dword [ecx + 0x3c]
test ecx, ecx
js 0x45b015
mov eax, dword [ebp - 0x48]
mov edi, 0xbc9
mov eax, dword [eax + 8]
mov eax, dword [eax + ecx*4]
lea ecx, [ebp - 0x60]
mov edx, dword [eax + 0x10]
call fcn.0045b2a0
push eax
lea ecx, [ebp - 0x54]
mov byte [ebp - 4], 8
call fcn.00435880
mov byte [ebp - 4], 7
push dword [ebp - 0x60]
call fcn.0041bebc
add esp, 4
lea eax, [ebp - 0x54]
mov edx, edi
push eax
lea ecx, [ebp - 0x24]
call fcn.0045c710
push 2
mov byte [ebp - 4], 9
call fcn.0041bfdb
mov cx, word [0x46e6d4]
add esp, 4
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov word [eax], cx
mov byte [ebp - 4], 0xa
xor ebx, ebx
inc ebx
cmp word [ebx*2 + 0x46e6d8], 0
jne 0x45b052
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
lea ecx, [ebx*2 + 2]
mov dword [ebp - 0x3c], ebx
push ecx
mov edi, eax
mov dword [ebp - 0x38], ebx
push 0x46e6d8
push edi
mov dword [ebp - 0x40], edi
call fcn.0041f8c0
add esp, 0x10
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xb
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00434010
push edi
call fcn.0041bebc
mov byte [ebp - 4], 9
push dword [ebp - 0x30]
call fcn.0041bebc
push 2
call fcn.0041bfdb
mov cx, word [0x46e6d4]
add esp, 0xc
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x2c], 0
mov dword [ebp - 0x28], 0
mov word [eax], cx
mov byte [ebp - 4], 0xc
xor ebx, ebx
nop dword [eax]
inc ebx
cmp word [ebx*2 + 0x46e6e0], 0
jne 0x45b0f0
xor ecx, ecx
lea eax, [ebx + 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
lea ecx, [ebx*2 + 2]
mov dword [ebp - 0x3c], ebx
push ecx
mov edi, eax
mov dword [ebp - 0x38], ebx
push 0x46e6e0
push edi
mov dword [ebp - 0x40], edi
call fcn.0041f8c0
add esp, 0x10
lea eax, [ebp - 0x30]
mov byte [ebp - 4], 0xd
push eax
lea eax, [ebp - 0x40]
push eax
lea ecx, [ebp - 0x24]
call fcn.00434010
push edi
call fcn.0041bebc
mov byte [ebp - 4], 9
push dword [ebp - 0x30]
call fcn.0041bebc
mov eax, dword [esi + 8]
add esp, 8
mov edx, dword [esi + 4]
sub eax, edx
mov edi, dword [ebp - 0x20]
cmp edi, eax
jbe 0x45b1e5
lea ecx, [edx + edi]
mov eax, ecx
shr eax, 1
add eax, 0x10
add eax, ecx
and eax, 0xfffffff0
dec eax
cmp eax, edx
jb 0x45b189
cmp eax, 0x3ffffffe
jbe 0x45b18e
mov eax, 0x3ffffffe
cmp eax, edx
jbe 0x45b27e
mov ecx, eax
sub ecx, edx
cmp ecx, edi
jb 0x45b27e
xor ecx, ecx
lea ebx, [eax - 1]
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.0041bfdb
mov ecx, dword [esi + 4]
mov edi, eax
lea ecx, [ecx*2 + 2]
push ecx
push dword [esi]
push edi
call fcn.0041f8c0
push dword [esi]
call fcn.0041bebc
mov edx, dword [esi + 4]
add esp, 0x14
mov dword [esi], edi
mov edi, dword [ebp - 0x20]
mov dword [esi + 8], ebx
mov eax, dword [esi]
lea ecx, [eax + edx*2]
lea eax, [edi*2 + 2]
push eax
push dword [ebp - 0x24]
push ecx
call fcn.0041f8c0
mov eax, dword [ebp - 0x20]
push dword [ebp - 0x24]
add dword [esi + 4], eax
call fcn.0041bebc
mov dword [ebp - 4], 0xffffffff
push dword [ebp - 0x54]
call fcn.0041bebc
mov edi, dword [ebp - 0x14]
add esp, 0x14
mov ebx, 0xa
mov eax, dword [esi + 4]
cmp dword [esi + 8], eax
jne 0x45b235
mov ecx, esi
call fcn.00435630
mov eax, dword [esi + 4]
mov ecx, dword [esi]
xor edx, edx
mov word [ecx + eax*2], bx
inc eax
mov word [ecx + eax*2], dx
lea edx, [edi + 0x30]
mov ecx, esi
mov dword [esi + 4], eax
call fcn.0045b380
mov eax, dword [esi + 4]
test eax, eax
je 0x45b26a
mov ecx, dword [esi]
cmp word [ecx + eax*2 - 2], 0xa
jne 0x45b26a
dec eax
xor edx, edx
mov dword [esi + 4], eax
mov word [ecx + eax*2], dx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
push 0x473048
lea eax, [ebp - 0x10]
mov dword [ebp - 0x10], 0x13329ac
push eax
call fcn.0041db1a
int3