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

Disassembly:
sub esp, 0x18
push esi
mov esi, dword [esp + 0x20]
cmp dword [esi + 0xb4], 0
je 0x4827a5
push dword [esi]
mov eax, dword [esi + 4]
call eax
add esp, 4
mov dword [esi + 0xb4], 0
cmp dword [esi + 0xac], 0
mov eax, dword [esi + 0xd0]
jne 0x4830b3
test eax, eax
jne 0x4830b3
cmp dword [esi + 0x88], eax
je 0x4827d2
mov dword [esi + 0xd0], 9
cmp dword [esi + 0x134], 0
je 0x4827e5
mov dword [esi + 0xd0], 8
mov eax, dword [esi + 0xd0]
test eax, eax
je 0x4827fe
mov dword [esi + 0xac], 1
pop esi
add esp, 0x18
ret
push ebx
push edi
mov edi, dword [esi + 0xb8]
mov eax, edi
or eax, dword [esi + 0xbc]
mov ebx, edi
mov dword [esp + 0x28], edi
mov dword [esp + 0x14], ebx
jne 0x48287a
push dword [esi]
mov eax, dword [esi + 8]
call eax
add esp, 4
test eax, eax
jne 0x482839
push edi
push esi
call fcn.00480900
add esp, 8
pop edi
pop ebx
pop esi
add esp, 0x18
ret
lea eax, [esp + 0x20]
push eax
push esi
call fcn.00483b90
lea eax, [esi + 0x1c98]
push eax
lea edi, [esi + 0x58]
push edi
call fcn.004839f0
push dword [esi]
mov eax, dword [esi + 0xc]
call eax
sub eax, dword [esi + 0x34]
mov al, byte [eax]
movzx eax, al
push eax
push dword [esi + 0x50]
push edi
call fcn.004821e0
dec dword [esi + 0x34]
mov edi, ebx
add esp, 0x20
inc edi
mov dword [esp + 0x28], edi
mov eax, dword [esi + 8]
push ebp
push dword [esi]
call eax
add esp, 4
test eax, eax
je 0x4830e3
lea ebx, [esi + 0x58]
jmp 0x482896
mov edi, dword [esp + 0x2c]
cmp dword [esi + 0xa4], 0
je 0x4828ae
push esi
call fcn.00481bd0
add esp, 4
mov dword [esp + 0x14], eax
jmp 0x4828e7
mov ecx, dword [esi + 0x18]
cmp dword [esi + 0x1c], ecx
jne 0x4828c6
push edi
push esi
call fcn.00480990
add esp, 8
mov dword [esp + 0x14], eax
jmp 0x4828e7
lea eax, [ecx + 0x5d5]
shl eax, 5
mov edx, dword [eax + esi + 8]
mov eax, dword [eax + esi + 0xc]
mov dword [esi + 0x90], eax
lea eax, [ecx + 1]
mov dword [esp + 0x14], edx
mov dword [esi + 0x18], eax
mov ecx, dword [esi + 0x4c]
mov eax, dword [esi + 0x2c]
and ecx, edi
mov edi, dword [ebx]
mov ebp, edi
shl eax, 4
add eax, ecx
mov dword [esp + 0x1c], ecx
movzx ecx, word [esi + eax*2 + 0x1c98]
shr ebp, 0xb
imul ebp, ecx
lea edx, [esi + eax*2]
mov eax, dword [esi + 0x90]
mov dword [esp + 0x10], eax
cmp eax, 0xffffffff
jne 0x4829ca
mov eax, 0x800
sub eax, ecx
shr eax, 5
add eax, ecx
mov word [edx + 0x1c98], ax
cmp ebp, 0x1000000
jae 0x482945
mov ecx, ebx
shl ebp, 8
call fcn.00480090
push dword [esi]
mov eax, dword [esi + 0xc]
mov dword [ebx], ebp
call eax
mov ebp, dword [esp + 0x30]
mov edi, eax
sub edi, dword [esi + 0x34]
mov ecx, ebp
mov eax, dword [esi + 0x50]
add esp, 4
shl ecx, 8
movzx edx, byte [edi - 1]
add edx, ecx
mov ecx, dword [esi + 0x94]
and edx, dword [esi + 0x48]
shl edx, cl
lea ecx, [edx + edx*2]
lea edx, [eax + ecx*2]
mov ecx, dword [esi + 0x2c]
mov al, byte [edi]
mov byte [esp + 0x2c], al
movzx eax, byte [ecx + 0x522400]
mov dword [esi + 0x2c], eax
cmp ecx, 7
jae 0x4829aa
movzx eax, byte [esp + 0x2c]
push eax
push edx
push ebx
call fcn.004821e0
mov edi, dword [esp + 0x20]
add esp, 0xc
jmp 0x482faf
sub edi, dword [esi + 0x38]
movzx eax, byte [edi]
push eax
movzx eax, byte [esp + 0x30]
push eax
push edx
push ebx
call fcn.00482280
mov edi, dword [esp + 0x24]
add esp, 0x10
jmp 0x482faf
sub edi, ebp
mov eax, ecx
add dword [esi + 0x60], ebp
adc dword [esi + 0x64], 0
shr eax, 5
sub ecx, eax
mov word [edx + 0x1c98], cx
cmp edi, 0x1000000
jae 0x4829f3
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
mov ebp, edi
movzx ecx, word [esi + eax*2 + 0x1c38]
lea edx, [esi + eax*2]
shr ebp, 0xb
imul ebp, ecx
cmp dword [esp + 0x10], 4
jae 0x482c34
sub edi, ebp
mov eax, ecx
add dword [esi + 0x60], ebp
adc dword [esi + 0x64], 0
shr eax, 5
sub ecx, eax
mov word [edx + 0x1c38], cx
cmp edi, 0x1000000
jae 0x482a3d
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
mov ecx, edi
mov ebp, dword [esp + 0x10]
add eax, 0xe28
movzx edx, word [esi + eax*2]
lea eax, [esi + eax*2]
shr ecx, 0xb
imul ecx, edx
mov dword [esp + 0x20], eax
test ebp, ebp
jne 0x482af4
mov eax, 0x800
mov edi, ecx
sub eax, edx
shr eax, 5
add eax, edx
mov edx, dword [esp + 0x20]
mov word [edx], ax
cmp ecx, 0x1000000
jae 0x482a8b
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
mov ebp, dword [esp + 0x1c]
shl eax, 4
add eax, ebp
movzx ecx, word [esi + eax*2 + 0x1e18]
lea edx, [esi + eax*2]
mov eax, edi
shr eax, 0xb
imul eax, ecx
cmp dword [esp + 0x14], 1
je 0x482acd
sub edi, eax
add dword [esi + 0x60], eax
mov eax, ecx
adc dword [esi + 0x64], 0
shr eax, 5
sub ecx, eax
mov word [edx + 0x1e18], cx
jmp 0x482be6
mov edi, eax
mov eax, 0x800
sub eax, ecx
shr eax, 5
add eax, ecx
mov word [edx + 0x1e18], ax
mov eax, dword [esi + 0x2c]
movzx eax, byte [eax + 0x522424]
mov dword [esi + 0x2c], eax
jmp 0x482be6
sub edi, ecx
mov eax, edx
add dword [esi + 0x60], ecx
adc dword [esi + 0x64], 0
shr eax, 5
sub edx, eax
mov eax, dword [esp + 0x20]
mov word [eax], dx
cmp edi, 0x1000000
jae 0x482b1d
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
movzx ecx, word [esi + eax*2 + 0x1c68]
lea edx, [esi + eax*2]
mov eax, edi
shr eax, 0xb
imul eax, ecx
cmp ebp, 1
jne 0x482b55
mov edi, eax
mov eax, 0x800
sub eax, ecx
shr eax, 5
add eax, ecx
mov word [edx + 0x1c68], ax
mov ecx, dword [esi + 0x3c]
jmp 0x482bd9
sub edi, eax
add dword [esi + 0x60], eax
mov eax, ecx
adc dword [esi + 0x64], 0
shr eax, 5
sub ecx, eax
mov word [edx + 0x1c68], cx
cmp edi, 0x1000000
jae 0x482b7e
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
movzx ecx, word [esi + eax*2 + 0x1c80]
lea edx, [esi + eax*2]
mov eax, edi
shr eax, 0xb
imul eax, ecx
cmp ebp, 2
jne 0x482bb3
mov edi, eax
mov eax, 0x800
sub eax, ecx
shr eax, 5
add eax, ecx
mov word [edx + 0x1c80], ax
mov ecx, dword [esi + 0x40]
jmp 0x482bd3
sub edi, eax
add dword [esi + 0x60], eax
mov eax, ecx
adc dword [esi + 0x64], 0
shr eax, 5
sub ecx, eax
mov word [edx + 0x1c80], cx
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x40]
mov dword [esi + 0x44], eax
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x38]
mov ebp, dword [esp + 0x1c]
mov dword [esi + 0x3c], eax
mov dword [esi + 0x38], ecx
cmp edi, 0x1000000
jae 0x482bf8
mov ecx, ebx
shl edi, 8
call fcn.00480090
mov dword [ebx], edi
mov edi, dword [esp + 0x14]
cmp edi, 1
je 0x482fab
push ebp
lea eax, [edi - 2]
push eax
lea eax, [esi + 0x2698]
push ebx
push eax
call fcn.00481f90
mov eax, dword [esi + 0x2c]
add esp, 0x10
dec dword [esi + 0xc4]
movzx eax, byte [eax + 0x522418]
mov dword [esi + 0x2c], eax
jmp 0x482fab
mov eax, 0x800
sub eax, ecx
shr eax, 5
add eax, ecx
mov word [edx + 0x1c38], ax
cmp ebp, 0x1000000
jae 0x482c59
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov eax, dword [esi + 0x2c]
mov edi, dword [esp + 0x14]
mov dword [ebx], ebp
add edi, 0xfffffffe
mov ebp, dword [esp + 0x1c]
movzx eax, byte [eax + str._a_a_a_a_a_a_a_n_n_n_n_n_b_b_b_b_b_b_b_v_v_v_v_v_t_t_t_t_t_t_t_v_v_v_v_v]
push ebp
push edi
mov dword [esi + 0x2c], eax
lea eax, [esi + 0x2298]
push ebx
push eax
call fcn.00481f90
mov eax, dword [esi + 0x40]
add esp, 0x10
mov edx, dword [esp + 0x10]
mov dword [esi + 0x44], eax
sub edx, 4
mov eax, dword [esi + 0x3c]
mov dword [esi + 0x40], eax
mov eax, dword [esi + 0x38]
mov dword [esi + 0x3c], eax
lea eax, [edx + 1]
mov dword [esi + 0x38], eax
mov eax, edx
inc dword [esi + 0xc0]
mov dword [esp + 0x10], edx
cmp edx, 0x80
jae 0x482cc5
and eax, 0x7f
movzx eax, byte [eax + esi + 0x2a98]
jmp 0x482ce0
cmp edx, 0x20000
sbb ecx, ecx
and ecx, 0xfffffff6
add ecx, 0x10
shr eax, cl
movzx eax, byte [eax + esi + 0x2a98]
lea eax, [eax + ecx*2]
cmp dword [esp + 0x14], 5
lea edx, [eax + 0x40]
mov ebp, dword [ebx]
mov dword [esp + 0x20], eax
jb 0x482cf5
mov edi, 3
shl edi, 7
lea ecx, [esi + 0x1f98]
add ecx, edi
mov dword [esp + 0x24], ecx
mov eax, edx
shr eax, 6
movzx edi, word [ecx + eax*2]
lea ebx, [ecx + eax*2]
mov ecx, edx
add edx, edx
shr ecx, 5
and ecx, 1
mov dword [esp + 0x1c], edx
mov edx, ebp
mov eax, ecx
shr edx, 0xb
neg eax
imul edx, edi
and ebp, eax
and eax, edx
sub ebp, eax
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
dec ecx
mov eax, ecx
and ecx, 0x7e1
sub ecx, edi
and eax, edx
add ecx, 0x1f
add ebp, eax
sar ecx, 5
add ecx, edi
mov word [ebx], cx
lea ebx, [esi + 0x58]
cmp ebp, 0x1000000
jae 0x482d66
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
cmp edx, 0x1000
jb 0x482d04
mov eax, dword [esp + 0x10]
mov dword [ebx], ebp
cmp eax, 4
jb 0x482fa7
mov edi, dword [esp + 0x20]
mov edx, edi
shr edx, 1
dec edx
cmp eax, 0x80
jae 0x482db9
and edi, 1
mov ecx, edx
or edi, 2
shl edi, cl
push eax
add edi, 0x10cc
push edx
lea eax, [esi + edi*2]
push eax
push ebx
call fcn.00483b00
add esp, 0x10
jmp 0x482fa7
mov ecx, 0x20
mov edi, eax
sub ecx, edx
or edi, 0xf
shl edi, cl
mov eax, edi
shr ebp, 1
shr eax, 0x1f
neg eax
and eax, ebp
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
add edi, edi
cmp ebp, 0x1000000
jae 0x482ded
mov ecx, ebx
shl ebp, 8
call fcn.00480090
cmp edi, 0xf0000000
jne 0x482dc7
movzx edi, word [esi + 0x1c1a]
mov edx, ebp
mov eax, dword [esp + 0x10]
mov ecx, eax
and ecx, 1
shr eax, 1
mov dword [esp + 0x10], eax
mov eax, ecx
shr edx, 0xb
neg eax
imul edx, edi
and ebp, eax
mov dword [esp + 0x24], ecx
and eax, edx
sub ebp, eax
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
dec ecx
mov eax, ecx
and ecx, 0x7e1
sub ecx, edi
and eax, edx
add ecx, 0x1f
add ebp, eax
sar ecx, 5
add ecx, edi
mov word [esi + 0x1c1a], cx
cmp ebp, 0x1000000
jae 0x482e58
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
add edx, 2
mov ecx, eax
mov dword [esp + 0x24], edx
and ecx, 1
shr eax, 1
mov dword [esp + 0x10], eax
mov eax, ecx
movzx edi, word [esi + edx*2 + 0x1c18]
neg eax
mov edx, ebp
mov dword [esp + 0x20], ecx
shr edx, 0xb
and ebp, eax
imul edx, edi
and eax, edx
sub ebp, eax
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
dec ecx
mov eax, ecx
and ecx, 0x7e1
sub ecx, edi
and eax, edx
add ecx, 0x1f
add ebp, eax
sar ecx, 5
add ecx, edi
mov edi, dword [esp + 0x24]
mov word [esi + edi*2 + 0x1c18], cx
cmp ebp, 0x1000000
jae 0x482ecc
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov eax, dword [esp + 0x20]
lea edx, [eax + edi*2]
mov eax, dword [esp + 0x10]
movzx edi, word [esi + edx*2 + 0x1c18]
mov ecx, eax
and ecx, 1
shr eax, 1
mov dword [esp + 0x24], edx
mov edx, ebp
mov dword [esp + 0x10], eax
mov eax, ecx
shr edx, 0xb
neg eax
imul edx, edi
and ebp, eax
mov dword [esp + 0x20], ecx
and eax, edx
sub ebp, eax
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
dec ecx
mov eax, ecx
and ecx, 0x7e1
sub ecx, edi
and eax, edx
add ecx, 0x1f
add ebp, eax
sar ecx, 5
add ecx, edi
mov edi, dword [esp + 0x24]
mov word [esi + edi*2 + 0x1c18], cx
cmp ebp, 0x1000000
jae 0x482f40
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov eax, dword [esp + 0x20]
mov edx, ebp
mov ecx, dword [esp + 0x10]
and ecx, 1
shr edx, 0xb
lea eax, [eax + edi*2]
movzx edi, word [esi + eax*2 + 0x1c18]
lea ebx, [esi + eax*2]
imul edx, edi
mov eax, ecx
neg eax
and ebp, eax
and eax, edx
sub ebp, eax
add dword [esi + 0x60], eax
adc dword [esi + 0x64], 0
dec ecx
mov eax, ecx
and ecx, 0x7e1
sub ecx, edi
and eax, edx
add ecx, 0x1f
add ebp, eax
sar ecx, 5
add ecx, edi
mov word [ebx + 0x1c18], cx
lea ebx, [esi + 0x58]
cmp ebp, 0x1000000
jae 0x482fa5
mov ecx, ebx
shl ebp, 8
call fcn.00480090
mov dword [ebx], ebp
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x2c]
add ebp, edi
sub dword [esi + 0x34], edi
mov dword [esp + 0x2c], ebp
jne 0x482892
cmp dword [esi + 0xa4], 0
jne 0x483042
cmp dword [esi + 0xc0], 0x40
jb 0x483009
push esi
call fcn.00480240
push esi
call fcn.004805c0
mov ecx, dword [esi + 0x9c]
lea eax, [esi + 0x548]
add esp, 8
mov edx, 1
shl edx, cl
lea ecx, [esi + 0x3298]
push eax
lea eax, [esi + 0x2298]
push eax
call fcn.0047ff10
cmp dword [esi + 0xc4], 0
jg 0x483042
mov ecx, dword [esi + 0x9c]
lea eax, [esi + 0x548]
push eax
lea eax, [esi + 0x2698]
mov dword [esi + 0xc4], 0x40
mov edx, 1
shl edx, cl
lea ecx, [esi + 0x769c]
push eax
call fcn.0047ff10
push dword [esi]
mov eax, dword [esi + 8]
call eax
add esp, 4
test eax, eax
je 0x483091
mov edi, dword [esp + 0x2c]
mov eax, edi
mov ebp, dword [esp + 0x18]
sub eax, ebp
mov edx, dword [esp + 0x30]
test edx, edx
je 0x4830b8
add eax, 0x92c
cmp eax, dword [esp + 0x34]
jae 0x48308d
mov ecx, dword [esi + 0x80]
sub ecx, dword [esi + 0x78]
mov eax, dword [esi + 0x68]
add ecx, dword [esi + 0x70]
add eax, 0x4000
add eax, ecx
cmp eax, edx
jb 0x482896
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x18]
mov eax, ebp
sub eax, ebx
add dword [esi + 0xb8], eax
push ebp
adc dword [esi + 0xbc], 0
push esi
call fcn.00480900
add esp, 8
pop ebp
pop edi
pop ebx
pop esi
add esp, 0x18
ret
cmp eax, 0x20000
jb 0x482896
sub edi, ebp
add dword [esi + 0xb8], edi
push esi
adc dword [esi + 0xbc], 0
call fcn.004801f0
add esp, 4
pop ebp
pop edi
pop ebx
pop esi
add esp, 0x18
ret
mov ebp, dword [esp + 0x2c]
jmp 0x483095