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

Disassembly:
sub esp, 0x208
mov dword [esp], pe_nt_image_headers32
mov dword [esp + 4], 0x40
mov dword [esp + 8], 8
push ebx
xor ecx, ecx
push esi
mov ebx, 0xc
mov dword [esp + 0x1c], ecx
push edi
mov dword [esp + 0x18], 0x800
mov dword [esp + 0x1c], 0x900
push ebp
mov edx, 0x24
mov dword [esp + 0x128], ebx
mov dword [esp + 0x130], edx
mov dword [esp + 0x12c], 0x17
mov dword [esp + 0x134], 6
mov dword [esp + 0x138], 0x11
mov dword [esp + 0x13c], 0x1c
mov dword [esp + 0x140], 0xffffffbe
mov dword [esp + 0x144], 0x1d
mov dword [esp + 0x148], 0xffffff6a
mov dword [esp + 0x14c], 0x4c
mov dword [esp + 0x150], 0x13
mov dword [esp + 0x154], 7
mov dword [esp + 0x15c], 4
mov dword [esp + 0x160], 0xfffffffb
mov eax, 0x5d
mov dword [esp + 0x158], ecx
mov dword [esp + 0x170], eax
mov dword [esp + 0x174], eax
mov dword [esp + 0x164], 0xfffffff4
mov eax, 0xe
mov esi, 0xb
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], eax
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], esi
mov edi, 0x23
mov dword [esp + 0x188], esi
mov dword [esp + 0x18c], esi
mov dword [esp + 0x190], edi
mov dword [esp + 0x168], 0xffffffe0
mov dword [esp + 0x16c], 0xffffffe2
mov ebp, 0x4a
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x198], ebp
mov dword [esp + 0x19c], ebp
mov dword [esp + 0x1ac], esi
mov dword [esp + 0x1b0], ebx
mov dword [esp + 0x194], 0x22
mov dword [esp + 0x1a0], 0xd
mov eax, 0x12
mov dword [esp + 0x1b4], ebx
mov dword [esp + 0x1c0], eax
mov dword [esp + 0x1c4], eax
mov dword [esp + 0x1a4], 0xf
mov dword [esp + 0x1b8], 0x20
mov dword [esp + 0x1bc], 0x1f
mov dword [esp + 0x1c8], 0x4d
mov dword [esp + 0x1cc], 0x5c
mov dword [esp + 0x1d0], 0x6b
mov dword [esp + 0x1d4], 0x4e
mov esi, 0x5a
mov dword [esp + 0x1e8], ecx
mov dword [esp + 0x1d8], esi
mov dword [esp + 0x1ec], ecx
mov dword [esp + 0x1dc], 0x66
mov eax, 0x31
mov dword [esp + 0x1fc], edx
mov dword [esp + 0x1f0], eax
mov dword [esp + 0x1f4], eax
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x200], edi
mov dword [esp + 0x204], edi
mov dword [esp + 0x208], edi
mov dword [esp + 0x1e0], 1
mov dword [esp + 0x1e4], 0x26
mov dword [esp + 0x210], 0x58
mov eax, 9
mov dword [esp + 0x20c], edi
mov edi, 0xd7
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edi
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov dword [esp + 0x214], 0x45
mov dword [esp + 0x28], 0xea
mov dword [esp + 0x2c], 0xe6
mov eax, 0x138
mov ebx, 0x59
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], eax
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], esi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x84], eax
mov dword [esp + 0x44], 0xe9
mov dword [esp + 0x68], 0x137
mov dword [esp + 0x74], 0x56
mov eax, 0xbe
mov ecx, 0x9e
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov edx, 0x7e
mov ebp, 0x5e
mov dword [esp + 0x5c], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0x48], 0xc0
mov dword [esp + 0x4c], 0xa0
mov dword [esp + 0x50], 0x7d
mov dword [esp + 0x64], 0x60
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ebp
mov dword [esp + 0x88], 0xc0
mov dword [esp + 0x8c], 0xa0
mov dword [esp + 0x90], 0x7d
mov dword [esp + 0xa4], 0x60
mov dword [esp + 0xb0], edi
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], esi
mov dword [esp + 0xc0], ebx
mov dword [esp + 0xa8], 0xea
mov dword [esp + 0xac], 0xe6
mov dword [esp + 0xb4], 0x56
mov dword [esp + 0xc4], 0xe9
mov dword [esp + 0xe8], 0xbb
mov dword [esp + 0xec], 0xc6
mov dword [esp + 0xf4], 0xa6
mov dword [esp + 0xf8], 0xad
mov dword [esp + 0xfc], 0xb8
mov dword [esp + 0x100], 0x6d
mov esi, 0x7f
mov dword [esp + 0xf0], edi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
mov dword [esp + 0x104], 0xd4
mov dword [esp + 0xc8], 0xbf
mov dword [esp + 0xcc], 0x9f
mov dword [esp + 0xe0], ebp
mov dword [esp + 0x110], esi
mov dword [esp + 0xe4], 0x5f
mov dword [esp + 0x108], 0x9b
mov dword [esp + 0x10c], 0x8f
mov dword [esp + 0x114], 0x86
mov dword [esp + 0x118], 0x7a
mov dword [esp + 0x11c], 0x71
mov eax, 0x68
mov dword [esp + 0x120], eax
mov dword [esp + 0x124], eax
xor eax, eax
mov al, byte [0xd70212]
cmp eax, 3
ja case.default.0x487932
jmp dword [eax*4 + 0x4882d8]
mov esi, 8
mov ecx, 0xaa8ebc
mov eax, 0x4cbcf0
mov dword [0xaa8e94], esi
mov dword [0xaa8f90], 1
mov dword [0x7a7514], 5
mov edx, dword [eax]
add ecx, 0x14
add eax, 4
mov dword [ecx - 0x14], edx
mov dword [ecx - 0x1c], esi
inc esi
cmp eax, 0x4cbd10
jb 0x487962
call fcn.004179f0
xor ecx, ecx
mov edx, 0x7a7518
mov byte [0xd70212], 1
mov byte [0xaa8fac], al
mov eax, 0xaa8ebc
mov esi, dword [eax]
lea edi, [esp + ecx*4 + 0x10]
cmp dword [edi], esi
je 0x4879af
lea ebx, [esp + 0x24]
cmp edi, ebx
ja 0x4879af
add edi, 4
inc ecx
cmp dword [edi], esi
jne 0x48799f
cmp ecx, 5
jle 0x4879b9
mov ecx, 5
mov dword [edx], ecx
add edx, 4
add eax, 0x14
cmp eax, 0xaa8f5c
jb 0x487995
jmp case.default.0x487932
call fcn.004179f0
mov byte [0xaa8f9c], al
cmp al, 0x11
je 0x487e1e
cmp al, 0x1b
je 0x487e1e
cmp byte [0xaa8ea0], al
je 0x487e1e
cmp al, 0x20
je 0x487d1b
cmp al, 0xd
je 0x487d1b
cmp byte [0xaa8fc4], al
je 0x487d1b
test byte [0xc3f8d9], 0xa0
je 0x487ada
mov esi, dword [0xaa8e94]
push 0
push 4
push 3
mov dword [esi*4 + 0xaa8f70], 0
call fcn.00468310
add esp, 0xc
mov eax, dword [0xaa8e94]
cmp eax, 6
jge 0x487a65
add eax, 3
cmp eax, 6
jl 0x487a50
sub eax, 6
mov dword [eax*4 + 0xaa8f70], 1
mov dword [0xaa8e94], eax
jmp case.default.0x487932
jne 0x487a80
mov dword [0xaa8e94], 7
mov dword [0xaa8f8c], 1
jmp case.default.0x487932
cmp eax, 7
jne 0x487a9e
mov dword [0xaa8e94], 6
mov dword [0xaa8f88], 1
jmp case.default.0x487932
cmp eax, 8
jne 0x487abc
mov dword [0xaa8e94], 9
mov dword [0xaa8f94], 1
jmp case.default.0x487932
cmp eax, 9
jne 0x487ada
mov dword [0xaa8e94], 8
mov dword [0xaa8f90], 1
jmp case.default.0x487932
test byte [0xc3f8d9], 0x10
je 0x487bbe
push 0
push 4
push 3
call fcn.00468310
add esp, 0xc
mov eax, dword [0xaa8e94]
cmp eax, 2
mov dword [eax*4 + 0xaa8f70], 0
je 0x487b28
cmp eax, 6
jge 0x487b2b
inc eax
and eax, 7
mov dword [0xaa8e94], eax
mov dword [eax*4 + 0xaa8f70], 1
jmp case.default.0x487932
cmp eax, 6
jne 0x487b46
mov dword [0xaa8e94], 8
mov dword [0xaa8f90], 1
jmp case.default.0x487932
cmp eax, 7
jne 0x487b64
mov dword [0xaa8e94], 9
mov dword [0xaa8f94], 1
jmp case.default.0x487932
cmp eax, 8
jne 0x487b82
mov dword [0xaa8e94], 3
mov dword [0xaa8f7c], 1
jmp case.default.0x487932
cmp eax, 9
jne 0x487ba0
mov dword [0xaa8e94], 0
mov dword [0xaa8f70], 1
jmp case.default.0x487932
cmp eax, 2
jne 0x487bbe
mov dword [0xaa8e94], 7
mov dword [0xaa8f8c], 1
jmp case.default.0x487932
test byte [0xc3f8d9], 0x40
je 0x487ca2
push 0
push 4
push 3
call fcn.00468310
add esp, 0xc
mov eax, dword [0xaa8e94]
cmp eax, 3
mov dword [eax*4 + 0xaa8f70], 0
je 0x487c12
test eax, eax
je 0x487c0d
cmp eax, 7
jge 0x487c0d
mov dword [eax*4 + 0xaa8f6c], 1
dec eax
mov dword [0xaa8e94], eax
jmp case.default.0x487932
cmp eax, 3
jne 0x487c2b
mov dword [0xaa8e94], 8
mov dword [0xaa8f90], 1
jmp case.default.0x487932
cmp eax, 7
jne 0x487c49
mov dword [0xaa8e94], 2
mov dword [0xaa8f78], 1
jmp case.default.0x487932
cmp eax, 8
jne 0x487c67
mov dword [0xaa8e94], 6
mov dword [0xaa8f88], 1
jmp case.default.0x487932
cmp eax, 9
jne 0x487c85
mov dword [0xaa8e94], 7
mov dword [0xaa8f8c], 1
jmp case.default.0x487932
test eax, eax
jne 0x487ca2
mov dword [0xaa8e94], 9
mov dword [0xaa8f94], 1
jmp case.default.0x487932
call fcn.00417a40
mov esi, dword [0xaa8e94]
mov dword [0xaa8fa8], eax
mov eax, dword [0xaa8fb0]
cmp eax, dword [0xaa8fa8]
je case.default.0x487932
cmp dword [0xaa8fa8], 0
jne 0x487cdb
mov dword [0xaa8fb0], 0
jmp case.default.0x487932
mov eax, dword [0xaa8fa8]
mov ecx, 8
mov dword [0xaa8fb0], eax
xor eax, eax
mov edx, 1
shl edx, cl
test dword [0xaa8fa8], edx
jne 0x487d03
inc ecx
cmp ecx, 0x10
jl 0x487cec
jmp 0x487d08
mov eax, 1
test eax, eax
jne 0x487d2b
test byte [0xc38713], 0x40
je case.default.0x487932
jmp 0x487d2b
mov esi, dword [0xaa8e94]
mov byte [0xaa8f9c], al
mov byte [0xaa8fac], al
cmp esi, 8
jl 0x487de7
jne 0x487dda
push 0
mov edi, 0x4cbcf0
push 6
push 3
call fcn.00468310
add esp, 0xc
mov edx, 0xaa8ebc
xor eax, eax
mov ecx, 8
rep stosd dword es:[edi], eax
mov eax, 8
mov dword [edx], 0
add edx, 0x14
dec eax
jne 0x487d60
mov eax, pe_nt_image_headers32
mov ecx, 0x40
mov edx, 0x800
mov esi, 0x900
mov edi, 8
mov dword [0x4cbcf0], eax
mov dword [0x4cbcf4], ecx
mov dword [0x4cbcf8], edx
mov dword [0x4cbcfc], esi
mov dword [0x4cbd0c], edi
mov dword [0xaa8ebc], eax
mov dword [0xaa8ed0], ecx
mov dword [0xaa8ee4], edx
mov dword [0xaa8ef8], esi
mov dword [0xaa8f48], edi
call fcn.00405e80
mov byte [0xd70212], 3
mov dword [0xaa8e9c], 2
jmp case.default.0x487932
xor al, al
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x208
ret
push 0
push 6
push 3
call fcn.00468310
add esp, 0xc
mov eax, dword [0xaa8e94]
shl eax, 2
mov ecx, 2
mov byte [0xd70212], cl
mov dword [eax + 0xaa8f70], ecx
mov eax, dword [eax + 0x7a7518]
mov dword [0x7a7514], eax
jmp case.default.0x487932
mov byte [0xaa8f9c], 0
push 0
push 5
push 3
call fcn.00468310
add esp, 0xc
xor al, al
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x208
ret
call fcn.004179f0
mov byte [0xaa8f9c], al
call fcn.00417a40
mov dl, byte [0xaa8f9c]
mov dword [0xaa8fa8], eax
mov eax, dword [0xaa8fb0]
cmp eax, dword [0xaa8fa8]
jne 0x487e73
cmp dl, byte [0xaa8fac]
je case.default.0x487932
mov byte [0xaa8fac], dl
cmp dl, 0x11
je 0x48804e
cmp dl, 0x1b
je 0x48804e
cmp byte [0xaa8ea0], dl
je 0x48804e
cmp dl, 0x20
je 0x487ff0
cmp dl, 0xd
je 0x487ff0
cmp byte [0xaa8fc4], dl
je 0x487ff0
test byte [0xc3f8d9], 0x80
je 0x487efb
push 0
push 4
push 3
call fcn.00468310
add esp, 0xc
mov edx, dword [0xaa8e94]
lea eax, [edx*4 + 0x7a7518]
mov ecx, dword [eax]
dec ecx
mov dword [eax], ecx
jns 0x487ee6
mov dword [eax], 5
shl edx, 2
mov eax, dword [eax]
mov ebx, dword [esp + eax*4 + 0x10]
mov dword [edx + edx*4 + 0xaa8ebc], ebx
jmp case.default.0x487932
test byte [0xc3f8d9], 0x20
je 0x487f44
push 0
push 4
push 3
call fcn.00468310
add esp, 0xc
mov edx, dword [0xaa8e94]
lea ecx, [edx*4 + 0x7a7518]
mov eax, dword [ecx]
inc eax
mov dword [ecx], eax
cmp eax, 5
jle 0x487f2f
mov dword [ecx], 0
shl edx, 2
mov eax, dword [ecx]
mov ebx, dword [esp + eax*4 + 0x10]
mov dword [edx + edx*4 + 0xaa8ebc], ebx
jmp case.default.0x487932
cmp eax, dword [0xaa8fa8]
je case.default.0x487932
cmp dword [0xaa8fa8], 0
jne 0x487f68
mov dword [0xaa8fb0], 0
jmp case.default.0x487932
mov eax, dword [0xaa8fa8]
mov ecx, 8
mov dword [0xaa8fb0], eax
xor eax, eax
mov edx, 1
shl edx, cl
test dword [0xaa8fa8], edx
jne 0x487f90
inc ecx
cmp ecx, 0x10
jl 0x487f79
jmp 0x487f95
mov eax, 1
test eax, eax
je case.default.0x487932
test byte [0xc38713], 0x80
je 0x487ff0
push 0
push 5
push 3
call fcn.00468310
add esp, 0xc
mov esi, dword [0x7a7514]
mov eax, dword [0xaa8e94]
mov ecx, dword [esp + esi*4 + 0x10]
lea edx, [eax*4]
shl eax, 2
mov dword [edx + edx*4 + 0xaa8ebc], ecx
mov ecx, 1
mov dword [eax + 0x7a7518], esi
mov dword [eax + 0xaa8f70], ecx
mov byte [0xd70212], cl
jmp case.default.0x487932
push 0
push 6
push 3
call fcn.00468310
add esp, 0xc
mov eax, dword [0xaa8e94]
mov ecx, dword [eax*4 + 0x7a7518]
lea edx, [eax*4]
shl eax, 2
mov ecx, dword [esp + ecx*4 + 0x10]
mov dword [edx + 0x4cbcf0], ecx
mov dword [eax + eax*4 + 0xaa8ebc], ecx
call fcn.00405e80
mov byte [0xd70212], 3
mov ecx, dword [0xaa8e94]
mov dword [0xaa8e9c], 2
mov dword [ecx*4 + 0xaa8f70], 1
jmp case.default.0x487932
mov byte [0xaa8f9c], 0
push 0
push 5
push 3
call fcn.00468310
add esp, 0xc
xor al, al
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x208
ret
mov eax, dword [0xaa8e9c]
test eax, eax
jne 0x488080
mov byte [0xd70212], 1
dec eax
mov dword [0xaa8e9c], eax
xor edi, edi
mov esi, 0xaa8ebc
mov eax, dword [esi]
cmp eax, 0x80
jne 0x48809d
push 0x4cbba8
jmp 0x4880d6
cmp eax, 0x40
jne 0x4880a9
push 0x4cbbb8
jmp 0x4880d6
cmp eax, 8
jne 0x4880b5
push 0x4cbbc0
jmp 0x4880d6
cmp eax, 0x800
jne 0x4880c3
push 0x4cbbc8
jmp 0x4880d6
cmp eax, 0x900
jne 0x4880d1
push 0x4cbbd0
jmp 0x4880d6
push 0x4cbbd8
mov eax, dword [edi + 0xaa8f70]
mov ecx, dword [edi + 0x4cbbe8]
push eax
add edi, 4
add esi, 0x14
mov eax, dword [edi + 0x4cbc04]
sub ax, 0xf
push eax
push ecx
call fcn.00491490
add esp, 0x10
cmp esi, 0xaa8f5c
jb 0x48808d
xor ebx, ebx
xor esi, esi
xor edi, edi
mov ecx, dword [0xaa8e94]
mov dword [0xc30068], ebx
mov byte [0xc30074], bl
mov byte [0xc30075], 0xc8
cmp esi, ecx
je 0x48812f
mov byte [0xc30075], 0x68
mov eax, dword [esp + edi + 0x28]
mov ecx, dword [esp + edi + 0x68]
mov word [0xc3006c], ax
push ebx
mov word [0xc30070], cx
mov eax, dword [esp + edi + 0x4c]
sub ax, 0xf
push 0xc30068
mov word [0xc3006e], ax
add edi, 4
inc esi
mov byte [0xc30076], bl
mov eax, dword [esp + edi + 0x8c]
sub ax, 0xf
mov word [0xc30072], ax
call fcn.00443c40
inc word [0xc3006e]
add esp, 8
inc word [0xc30072]
push ebx
push 0xc30068
call fcn.00443c40
mov ecx, dword [esp + edi + 0xac]
mov eax, dword [esp + edi + 0xcc]
sub ax, 0xf
add esp, 8
mov word [0xc3006c], cx
push ebx
mov word [0xc3006e], ax
mov ecx, dword [esp + edi + 0xe8]
mov word [0xc30070], cx
mov eax, dword [esp + edi + 0x108]
sub ax, 0xf
push 0xc30068
mov word [0xc30072], ax
call fcn.00443c40
inc word [0xc3006e]
add esp, 8
inc word [0xc30072]
push ebx
push 0xc30068
call fcn.00443c40
add esp, 8
mov ecx, dword [0xaa8e94]
cmp edi, 0x20
jl 0x488111
mov eax, dword [esp + ecx*4 + 0x128]
cmp ecx, 8
mov dword [0xc30030], 0x1000040
mov word [0xc30034], ax
mov ax, 0xfffb
jge 0x488232
mov ax, 0xfff1
mov word [0xc3003c], 2
add ax, word [esp + ecx*4 + 0x150]
mov edx, dword [esp + ecx*4 + 0x178]
mov word [0xc30036], ax
mov ebx, dword [esp + ecx*4 + 0x1a0]
mov word [0xc30038], dx
mov eax, pe_nt_image_headers32
mov word [0xc3003a], bx
mov byte [0xc30044], al
mov byte [0xc30045], al
mov byte [0xc30046], al
xor eax, eax
mov dl, byte [esp + ecx*4 + 0x1c8]
mov word [0xc30048], ax
mov dword [0xc30050], eax
mov word [0xc3004a], ax
mov cl, byte [esp + ecx*4 + 0x1f0]
mov word [0xc30040], ax
push 1
push 0xb
mov byte [0xc3003e], dl
push 2
mov byte [0xc3003f], cl
mov word [0xc30042], 0x1e0
push 0xc30030
call fcn.00441920
add esp, 0x10
mov al, 1
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x208
ret