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

Disassembly:
mov ecx, dword [0x98cddc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x4eee64
sub esp, 0x88
mov edx, dword [esp + 0x8c]
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x4ed785
mov ebp, dword [edx + 0x28]
mov ebx, dword [ebp + ebx*4 - 4]
jmp 0x4ed787
xor ebx, ebx
mov ebp, dword [ebx + 0x20]
mov esi, dword [esp + 0x98]
cmp esi, ebp
je 0x4ed799
xor eax, eax
jmp 0x4ed7ce
mov dword [esp + 0x60], ebx
mov eax, dword [ebx + 0x1c]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call fcn.00402e10
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x98]
test al, al
je 0x4ed7e0
mov ecx, dword [edx + 0x38]
mov ebp, dword [edx + 0x34]
lea edi, [ecx - 1]
jmp 0x4eee22
mov ebx, dword [esp + 0x90]
xor eax, eax
jmp 0x4ed806
mov dword [ebx + ebp*4 + 4], edx
mov ebp, dword [esp + 0x48]
inc ebp
mov ebx, dword [esp + 0x90]
mov edx, eax
mov esi, dword [esp + 0x98]
mov eax, ebp
cmp eax, 8
jge 0x4ee0e9
mov dword [esp + 0x48], eax
mov ecx, dword [edx + 0x38]
mov ebp, dword [edx + 0x34]
lea edi, [ecx - 1]
mov dword [esp + 0x38], edi
jmp 0x4ee0f5
mov edi, eax
mov eax, dword [esp + 0x48]
jmp 0x4ed837
mov eax, dword [esp + 0x48]
xor edi, edi
jmp 0x4ed837
xor edi, edi
test edi, edi
je 0x4ee11d
mov dword [esp + 0x58], ecx
mov dword [esp + 0x84], ebp
mov esi, dword [edx + 0x2c]
mov eax, dword [edx + 0x28]
lea ebp, [esi - 1]
jmp 0x4ee144
mov ecx, dword [esp + 0x58]
jmp 0x4ed863
mov ebp, 0xffffffff
cmp ebp, 0xffffffff
je 0x4ee167
mov dword [esp + 0x74], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x5c], ebx
mov dword [esp], edx
mov dword [esp + 4], 0
lea eax, [esp + 0x5c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004e6b30
cmp dword [esp + 0x14], 0xffffffff
je 0x4ee160
mov edx, dword [esp + 0x8c]
mov ecx, dword [edx + 0x2c]
mov eax, dword [esp + 0x2c]
cmp eax, ecx
ja 0x4eee0c
mov ebx, dword [edx + 0x28]
mov ebp, dword [edx + 0x30]
sub ebp, eax
xchg ebp, ebx
neg ebx
xchg ebp, ebx
mov esi, eax
shl eax, 2
sar ebp, 0x1f
and eax, ebp
sub ecx, esi
mov dword [esp + 0x58], ecx
add ebx, eax
mov dword [esp + 0x84], ebx
xor eax, eax
jmp 0x4ee268
mov esi, dword [esp + 0x2c]
jmp 0x4ed8f7
xor ebp, ebp
test ebp, ebp
je 0x4ee473
mov ecx, dword [edx + 0x2c]
lea eax, [esi - 1]
cmp ecx, eax
jbe 0x4eee07
mov dword [esp + 0x70], ebp
mov ebx, dword [edx + 0x28]
mov edi, dword [edx + 0x38]
mov esi, dword [ebx + esi*4 - 4]
mov dword [esp + 0x78], esi
mov eax, dword [edx + 0x34]
lea esi, [edi - 1]
jmp 0x4ee5c3
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x70]
jmp 0x4ed93c
mov esi, 0xffffffff
nop
lea edi, [ecx - 1]
jmp 0x4ee5e4
mov edi, 0xffffffff
mov ebx, dword [esp + 0x74]
xor ecx, ecx
jmp 0x4ee61a
mov eax, dword [ebp]
test eax, eax
je 0x4eda2a
nop
cmp dword [eax + 4], ebp
jne 0x4ed983
mov ecx, dword [0x98d0b8]
mov esi, dword [ebp + 0x10]
test ecx, ecx
je 0x4ed980
call fcn.00471ac0
mov dword [edi], esi
mov ecx, dword [eax + 4]
mov dword [edi + 4], ecx
mov dword [eax + 4], esi
mov ecx, dword [ebp + 0x10]
test ecx, ecx
je 0x4ed9af
mov esi, dword [0x98d0b8]
mov edi, dword [ebp + 0xc]
test esi, esi
je 0x4ed9ac
mov esi, edi
call fcn.00471ac0
mov dword [edi], esi
mov ebx, dword [ecx + 0xc]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x74]
mov edi, esi
mov dword [ecx + 0xc], edi
cmp dword [eax + 8], ebp
jne 0x4ed9d1
mov ecx, dword [0x98d0b8]
mov esi, dword [ebp + 0xc]
test ecx, ecx
je 0x4ed9ce
call fcn.00471ac0
mov dword [edi], esi
mov ecx, dword [eax + 8]
mov dword [edi + 4], ecx
mov dword [eax + 8], esi
mov eax, dword [ebp + 0xc]
test eax, eax
je 0x4ed9f5
mov ecx, dword [0x98d0b8]
mov esi, dword [ebp + 0x10]
test ecx, ecx
je 0x4ed9f2
call fcn.00471ac0
mov dword [edi], esi
mov ecx, dword [eax + 0x10]
mov dword [edi + 4], ecx
mov dword [eax + 0x10], esi
mov eax, dword [0x98d0b8]
test eax, eax
je 0x4eda15
mov eax, dword [ebp]
call fcn.00471ad0
mov dword [edi], eax
mov eax, dword [ebp + 0xc]
mov dword [edi + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [edi + 8], eax
mov dword [ebp], 0
mov dword [ebp + 0xc], 0
mov dword [ebp + 0x10], 0
mov eax, dword [esp + 0x78]
mov ecx, dword [eax + 0x18]
cmp ecx, 0xcc02
ja 0x4eda4b
cmp ecx, 0x2705
je 0x4eda63
cmp ecx, 0xcc02
je 0x4eda63
jmp 0x4eda78
cmp ecx, 0xf505
je 0x4eda63
cmp ecx, 0x33005
je 0x4eda63
cmp ecx, 0x59505
jne 0x4eda78
mov dword [esp], edx
mov dword [esp + 4], ebp
call fcn.004e70e0
mov ebx, dword [esp + 0x74]
jmp 0x4edb09
mov ecx, dword [ebp]
nop
test ecx, ecx
jne 0x4eeaaa
mov ecx, dword [ebp + 0xc]
test ecx, ecx
jne 0x4eeaaa
mov ecx, dword [ebp + 0x10]
test ecx, ecx
jne 0x4eeaaa
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x4edabd
mov esi, dword [0x98d0b8]
test esi, esi
je 0x4edab8
call fcn.00471ac0
mov dword [edi], ebp
mov esi, dword [ecx + 0x10]
mov dword [edi + 4], esi
mov dword [ecx + 0x10], ebp
jmp 0x4edad7
mov esi, dword [0x98d0b8]
test esi, esi
je 0x4edad4
call fcn.00471ac0
mov dword [edi], ebp
mov esi, dword [eax + 4]
mov dword [edi + 4], esi
mov dword [eax + 4], ebp
mov esi, dword [0x98d0b8]
test esi, esi
je 0x4edb00
call fcn.00471b00
mov dword [edi], ebp
mov esi, dword [eax + 8]
mov dword [edi + 4], esi
mov dword [edi + 8], eax
mov esi, dword [ebp]
mov dword [edi + 0xc], esi
mov dword [edi + 0x10], ecx
mov esi, dword [ebp + 0xc]
mov dword [edi + 0x14], esi
mov dword [eax + 8], ebp
mov dword [ebp], eax
mov dword [ebp + 0xc], ecx
mov eax, dword [ebx + 0x30]
mov dword [esp + 0x58], eax
nop
lea ecx, [0x6fbde0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
lea ecx, [0x7117e0]
mov dword [esp], ecx
call fcn.0040bc10
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x74]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x1c]
mov dword [eax + 0x20], edx
mov edx, dword [0x98d0b8]
test edx, edx
jne 0x4edb70
mov edx, dword [esp + 0x80]
jmp 0x4edb81
call fcn.00471ac0
mov dword [edi], ebx
mov edx, dword [esp + 0x80]
mov dword [edi + 4], edx
mov dword [esp + 0x68], eax
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebx
mov dword [eax + 0x2c], edx
mov edx, dword [eax + 0x2c]
mov ebp, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x30]
lea edi, [0x6fbde0]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00469900
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov ecx, dword [esp + 0x70]
mov dword [esp + 4], ecx
call fcn.004e6870
mov eax, dword [esp + 0x68]
mov ecx, dword [eax]
nop
test ecx, ecx
jne 0x4eea92
mov edx, dword [eax + 0xc]
test edx, edx
jne 0x4eea92
mov edx, dword [eax + 0x10]
test edx, edx
jne 0x4eea92
mov edx, dword [esp + 0x70]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x4edc1c
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x4edc17
call fcn.00471ac0
mov dword [edi], eax
mov ebp, dword [ebx + 0x10]
mov dword [edi + 4], ebp
mov dword [ebx + 0x10], eax
jmp 0x4edc36
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x4edc33
call fcn.00471ac0
mov dword [edi], eax
mov ebp, dword [edx + 4]
mov dword [edi + 4], ebp
mov dword [edx + 4], eax
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x4edc5e
call fcn.00471b00
mov dword [edi], eax
mov ebp, dword [edx + 8]
mov dword [edi + 4], ebp
mov dword [edi + 8], edx
mov ebp, dword [eax]
mov dword [edi + 0xc], ebp
mov dword [edi + 0x10], ebx
mov ebp, dword [eax + 0xc]
mov dword [edi + 0x14], ebp
mov dword [edx + 8], eax
mov dword [eax], edx
mov dword [eax + 0xc], ebx
mov ebx, dword [esp + 0x8c]
mov ecx, dword [ebx + 0x38]
mov ebp, dword [ebx + 0x34]
lea esi, [ecx - 1]
mov dword [esp + 0x40], esi
mov edi, dword [esp + 0x74]
jmp 0x4ee99f
mov edx, dword [esp + 0x70]
jmp 0x4edc8e
mov esi, 0xffffffff
cmp esi, 0xffffffff
je 0x4edca0
mov edx, dword [esp + 0x4c]
cmp esi, edx
jge 0x4edca4
lea esi, [edx - 1]
jmp 0x4edca6
mov edx, dword [esp + 0x4c]
mov esi, edx
nop
mov edx, dword [esp + 0x40]
jmp 0x4ee9c1
mov eax, dword [esp + 0x68]
jmp 0x4edcbb
mov edx, 0xffffffff
mov dword [esp + 0x4c], esi
cmp edx, 0xffffffff
je 0x4edd8c
cmp edx, ecx
ja 0x4eea7d
mov dword [esp + 0x58], ecx
mov dword [esp + 0x20], edx
mov edi, dword [ebx + 0x3c]
sub edi, edx
mov dword [esp + 0x54], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
shl edx, 2
sar edi, 0x1f
and edx, edi
mov edi, dword [esp + 0x20]
lea eax, [edi + 1]
sub ecx, edi
add edx, ebp
mov edi, dword [esp + 0x58]
cmp edi, eax
jb 0x4eea76
lea ebx, [0x703880]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
dec ecx
mov edx, dword [esp + 0x54]
dec edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
add eax, ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4eea6f
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x34]
test ebx, ebx
je 0x4edd63
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x3c]
cmp ebx, edx
jb 0x4eea66
mov dword [eax + 0x38], edx
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x8c]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
mov edx, dword [ebx + 0x3c]
mov ebp, dword [ebx + 0x38]
inc ebp
nop
mov ecx, dword [ebx + 0x34]
cmp edx, ebp
jae 0x4eddfb
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x703880]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x3c], eax
mov eax, dword [0x98d0b8]
test eax, eax
je 0x4eddea
call fcn.00471ac0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x34]
mov dword [edi + 4], ebp
mov dword [ebx + 0x34], ecx
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x74]
mov ebp, edx
mov dword [ebx + 0x38], ebp
mov edx, dword [0x98d0b8]
test edx, edx
je 0x4ede17
mov edx, dword [ecx + ebp*4 - 4]
call fcn.00471ab0
mov dword [edi], edx
mov edi, dword [esp + 0x74]
mov dword [ecx + ebp*4 - 4], 0
mov ecx, dword [ebx + 0x38]
lea edx, [esi + 1]
cmp ecx, edx
jb 0x4eea5f
mov ebp, dword [ebx + 0x34]
mov edi, dword [ebx + 0x3c]
sub edi, esi
lea eax, [edi - 1]
neg eax
shl edx, 2
sar eax, 0x1f
and edx, eax
mov eax, ecx
sub eax, esi
add edx, ebp
cmp esi, ecx
ja 0x4eea58
lea ecx, [0x703880]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea edx, [eax - 1]
mov dword [esp + 8], edx
xchg edi, ebx
neg ebx
xchg edi, ebx
shl esi, 2
sar edi, 0x1f
and esi, edi
lea ebx, [ebp + esi]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], eax
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
mov edx, dword [esp + 0x4c]
cmp edx, ecx
jae 0x4eea51
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x34]
test ebx, ebx
jne 0x4edeac
mov ebx, dword [esp + 0x68]
jmp 0x4edebe
call fcn.00471ac0
mov ebx, dword [esp + 0x68]
mov dword [edi], ebx
mov esi, dword [ebp + edx*4]
mov dword [edi + 4], esi
mov dword [ebp + edx*4], ebx
mov ecx, dword [eax + 0x2c]
nop
nop
mov edx, dword [eax + 0x28]
lea ebp, [ecx - 1]
mov esi, dword [esp + 0x74]
jmp 0x4ee9df
mov ebp, 0xffffffff
cmp ebp, 0xffffffff
je 0x4edf8b
cmp ebp, ecx
ja 0x4eea43
mov esi, ebp
shl ebp, 2
lea edi, [esi + 1]
mov ebx, dword [eax + 0x30]
sub ebx, esi
mov dword [esp + 0x58], ebx
neg ebx
sar ebx, 0x1f
and ebp, ebx
mov ebx, ecx
sub ebx, esi
add ebp, edx
cmp ecx, edi
jb 0x4eea3c
lea eax, [0x703880]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
lea ecx, [ebx - 1]
mov ebx, dword [esp + 0x58]
dec ebx
neg ebx
shl edi, 2
sar ebx, 0x1f
and edi, ebx
add edx, edi
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x2c]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4eea35
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x28]
test ebx, ebx
je 0x4edf71
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x30]
cmp ebx, edx
jb 0x4eea2c
mov dword [eax + 0x2c], edx
mov ebx, dword [esp + 0x68]
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
lea ebp, [ecx - 1]
mov esi, dword [esp + 0x70]
jmp 0x4ee9f8
mov ebp, 0xffffffff
mov dword [esp + 0x28], ebp
mov esi, dword [eax + 0x30]
lea edi, [ecx + 1]
cmp esi, edi
jae 0x4ee010
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x703880]
mov dword [esp + 0x10], eax
call fcn.0046cad0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x8c]
mov dword [ebx + 0x30], eax
mov eax, dword [0x98d0b8]
test eax, eax
je 0x4edfff
call fcn.00471ac0
mov dword [edi], ecx
mov ebp, dword [ebx + 0x28]
mov dword [edi + 4], ebp
mov dword [ebx + 0x28], ecx
mov eax, ebx
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x28]
mov edi, edx
mov edx, ecx
mov dword [eax + 0x2c], edi
mov esi, dword [0x98d0b8]
test esi, esi
je 0x4ee02c
mov esi, dword [edx + edi*4 - 4]
mov ecx, edi
call fcn.00471ab0
mov dword [edi], esi
mov edi, ecx
mov dword [edx + edi*4 - 4], 0
mov ecx, dword [eax + 0x2c]
lea edx, [ebp + 2]
cmp ecx, edx
jb 0x4eea1e
lea esi, [ebp + 1]
mov edi, dword [eax + 0x28]
mov ebx, dword [eax + 0x30]
sub ebx, ebp
lea eax, [ebx - 2]
neg eax
shl edx, 2
sar eax, 0x1f
and edx, eax
mov eax, ecx
sub eax, ebp
add edx, edi
cmp ecx, esi
jb 0x4eea17
mov dword [esp + 0x3c], esi
lea ecx, [0x703880]
mov dword [esp], ecx
mov dword [esp + 4], edx
lea edx, [eax - 2]
mov dword [esp + 8], edx
dec eax
lea edx, [ebx - 1]
neg edx
shl esi, 2
sar edx, 0x1f
and esi, edx
lea edx, [esi + edi]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], eax
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp + 0x3c]
cmp ecx, edx
jbe 0x4eea10
mov edx, dword [0x98d0b8]
mov ebx, dword [eax + 0x28]
test edx, edx
jne 0x4ee0ce
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x28]
jmp 0x4ed7eb
call fcn.00471ac0
mov edx, dword [esp + 0x68]
mov dword [edi], edx
mov ebp, dword [esp + 0x28]
mov esi, dword [ebx + ebp*4 + 4]
mov dword [edi + 4], esi
jmp 0x4ed7eb
add esp, 0x88
ret
dec edi
mov eax, dword [esp + 0x48]
test edi, edi
jl 0x4ed835
cmp edi, ecx
jae 0x4eee1a
mov eax, dword [ebp + edi*4]
cmp dword [eax + 0x14], 7
je 0x4ed82d
cmp dword [eax + 0x18], ebx
jne 0x4ee0f0
jmp 0x4ed825
mov dword [esp], edx
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x94]
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.004eee70
add esp, 0x88
ret
dec ebp
mov ecx, dword [esp + 0x58]
test ebp, ebp
jl 0x4ed85e
cmp ebp, esi
jae 0x4eee11
lea ecx, [eax + ebp*4]
cmp dword [ecx], edi
jne 0x4ee13f
jmp 0x4ed858
add esp, 0x88
ret
nop
nop
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x38]
jmp 0x4ee177
dec ebp
test ebp, ebp
jl 0x4ee18c
cmp ebp, ecx
jae 0x4ee25c
lea esi, [ebx + ebp*4]
cmp dword [esi], edi
jne 0x4ee176
jmp 0x4ee191
mov ebp, 0xffffffff
cmp ebp, 0xffffffff
je 0x4ee239
cmp ebp, ecx
ja 0x4ee255
mov esi, ebp
shl ebp, 2
lea eax, [esi + 1]
mov edi, dword [edx + 0x3c]
sub edi, esi
mov dword [esp + 0x58], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebp, edi
mov edi, ecx
sub edi, esi
add ebp, ebx
cmp ecx, eax
jb 0x4ee250
lea ecx, [0x703880]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
lea ecx, [edi - 1]
mov edx, dword [esp + 0x58]
dec edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
add eax, ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4ee249
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x34]
test ebx, ebx
je 0x4ee227
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x3c]
cmp ebx, edx
jb 0x4ee240
mov dword [eax + 0x38], edx
add esp, 0x88
ret
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
call fcn.00471b90
mov eax, ebp
call fcn.00471b90
mov eax, ebp
call fcn.00471b30
inc eax
mov esi, dword [esp + 0x2c]
cmp eax, ecx
jge 0x4ed8f5
mov dword [esp + 0x54], eax
mov ebp, dword [ebx + eax*4]
mov dword [esp + 0x70], ebp
mov edi, dword [ebp + 0x28]
test edi, edi
je 0x4ee41b
mov esi, dword [ebp + 0x24]
cmp edi, 3
jne 0x4ee34a
cmp word [esi], 0x7673
jne 0x4ee417
cmp byte [esi + 2], 0x67
jne 0x4ee417
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
cmp esi, 4
jne 0x4ee2bf
cmp dword [edi], 0x63736564
je 0x4ee321
jmp 0x4ee417
cmp esi, 5
jne 0x4ee2db
cmp dword [edi], 0x6c746974
jne 0x4ee417
cmp byte [edi + 4], 0x65
je 0x4ee321
jmp 0x4ee417
cmp esi, 0xd
jne 0x4ee417
mov dword [esp], edi
lea eax, [0x72e626]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call fcn.00402e10
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ee32b
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
mov esi, 1
jmp 0x4ee464
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
jmp 0x4ee417
cmp edi, 4
jne 0x4ee417
cmp dword [esi], 0x6c6d7468
je 0x4ee41b
cmp dword [esi], 0x6874616d
jne 0x4ee417
mov esi, dword [ebp + 0x20]
mov edi, dword [ebp + 0x1c]
cmp esi, 2
jne 0x4ee39f
cmp byte [edi + 1], 0x6e
jg 0x4ee38f
cmp word [edi], 0x696d
je 0x4ee3f6
cmp word [edi], 0x6e6d
je 0x4ee3f6
jmp 0x4ee417
cmp word [edi], 0x6f6d
je 0x4ee3f6
cmp word [edi], 0x736d
je 0x4ee3f6
jmp 0x4ee417
cmp esi, 5
jne 0x4ee3b4
cmp dword [edi], 0x7865746d
jne 0x4ee417
cmp byte [edi + 4], 0x74
je 0x4ee3f6
jmp 0x4ee417
cmp esi, 0xe
jne 0x4ee417
mov dword [esp], edi
lea eax, [0x72f19f]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xe
call fcn.00402e10
movzx eax, byte [esp + 0xc]
test al, al
je 0x4ee3fd
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
mov esi, 1
jmp 0x4ee464
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
xor esi, esi
jmp 0x4ee464
mov eax, dword [0x96c9cc]
mov ecx, dword [ebp + 0x1c]
mov edx, dword [ebp + 0x20]
lea ebx, [0x6e3420]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0040e1c0
mov eax, dword [esp + 0x10]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x70]
mov esi, eax
mov eax, dword [esp + 0x54]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4ee263
jmp 0x4ed8ef
mov ecx, dword [edx + 0x2c]
lea eax, [ecx - 1]
nop
cmp ecx, eax
jbe 0x4ee5b2
mov ebx, dword [edx + 0x28]
mov ebx, dword [ebx + ecx*4 - 4]
mov dword [edx + 0x2c], eax
mov ebp, dword [esp + 0x74]
jmp 0x4ee49c
mov esi, dword [edx + 0x28]
mov ebx, dword [esi + ecx*4 - 4]
mov dword [edx + 0x2c], eax
cmp ebx, ebp
je 0x4ee4b0
mov ecx, dword [edx + 0x2c]
lea eax, [ecx - 1]
nop
cmp ecx, eax
ja 0x4ee492
jmp 0x4ee5ad
mov ecx, dword [edx + 0x38]
nop
nop
mov ebp, dword [edx + 0x34]
lea esi, [ecx - 1]
jmp 0x4ee4be
dec esi
test esi, esi
jl 0x4ee4d4
cmp esi, ecx
jae 0x4ee5a6
lea edi, [ebp + esi*4]
cmp dword [edi], ebx
jne 0x4ee4bd
jmp 0x4ee4d9
mov esi, 0xffffffff
cmp esi, 0xffffffff
je 0x4ee583
cmp esi, ecx
ja 0x4ee59f
mov ebx, esi
shl esi, 2
lea eax, [ebx + 1]
mov edi, dword [edx + 0x3c]
sub edi, ebx
mov dword [esp + 0x58], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
mov edi, ecx
sub edi, ebx
lea ebx, [ebp + esi]
cmp ecx, eax
jb 0x4ee59a
lea ecx, [0x703880]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
lea ecx, [edi - 1]
mov edx, dword [esp + 0x58]
dec edx
neg edx
shl eax, 2
sar edx, 0x1f
and eax, edx
add eax, ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4ee593
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x34]
test ebx, ebx
je 0x4ee571
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x3c]
cmp ebx, edx
jb 0x4ee58a
mov dword [eax + 0x38], edx
add esp, 0x88
ret
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
call fcn.00471b90
mov eax, esi
call fcn.00471b90
mov eax, esi
call fcn.00471b30
call fcn.00471b30
call fcn.00471b30
dec esi
mov edx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x70]
test esi, esi
jl 0x4ed937
cmp esi, edi
jae 0x4eedfe
lea edx, [eax + esi*4]
mov ebp, dword [esp + 0x74]
cmp dword [edx], ebp
jne 0x4ee5b7
jmp 0x4ed92a
dec edi
test edi, edi
jl 0x4ed945
cmp edi, ecx
jae 0x4eedf7
lea eax, [ebx + edi*4]
cmp dword [eax], ebp
jne 0x4ee5e3
jmp 0x4ed94a
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0x34]
mov edi, dword [esp + 0x30]
mov edx, eax
mov ebx, dword [esp + 0x74]
mov ebp, esi
mov esi, ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x4c], esi
lea eax, [edi - 1]
mov esi, dword [edx + 0x2c]
cmp esi, eax
jbe 0x4eedf0
mov dword [esp + 0x30], eax
mov eax, dword [edx + 0x28]
mov edi, dword [eax + edi*4 - 4]
cmp ebx, edi
je 0x4ed955
mov dword [esp + 0x84], eax
mov dword [esp + 0x6c], ebp
mov ebx, dword [edx + 0x38]
mov edx, dword [edx + 0x34]
lea ebp, [ebx - 1]
mov dword [esp + 0x44], ebp
jmp 0x4eeaca
mov eax, dword [esp + 0x84]
jmp 0x4ee66a
mov ebp, 0xffffffff
inc ecx
mov dword [esp + 0x34], ecx
cmp ecx, 3
jle 0x4ee682
test ebp, ebp
jl 0x4ee682
nop
mov esi, dword [esp + 0x44]
jmp 0x4eecb5
mov ebp, dword [esp + 0x44]
jmp 0x4eeaeb
mov ecx, dword [esp + 0x34]
jmp 0x4ee696
mov ebp, 0xffffffff
cmp ebp, 0xffffffff
jne 0x4ee6a5
nop
nop
lea edx, [esi - 1]
jmp 0x4eeba1
mov dword [esp + 0x64], edi
mov eax, dword [edi + 0x30]
mov dword [esp + 0x58], eax
nop
lea ecx, [0x6fbde0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0046ca20
mov eax, dword [esp + 0xc]
mov dword [esp + 0x80], eax
lea ecx, [0x7117e0]
mov dword [esp], ecx
call fcn.0040bc10
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x64]
mov edx, dword [ecx + 0x14]
mov dword [eax + 0x14], edx
mov edx, dword [ecx + 0x18]
mov dword [eax + 0x18], edx
mov edx, dword [ecx + 0x20]
mov ebx, dword [ecx + 0x1c]
mov dword [eax + 0x20], edx
mov edx, dword [0x98d0b8]
test edx, edx
jne 0x4ee710
mov edx, dword [esp + 0x80]
jmp 0x4ee721
call fcn.00471ac0
mov dword [edi], ebx
mov edx, dword [esp + 0x80]
mov dword [edi + 4], edx
mov dword [esp + 0x7c], eax
mov dword [eax + 0x1c], ebx
mov ebx, dword [esp + 0x58]
mov dword [eax + 0x30], ebx
mov dword [eax + 0x34], ebx
mov dword [eax + 0x2c], edx
mov edx, dword [eax + 0x2c]
mov ebp, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x30]
lea edi, [0x6fbde0]
mov dword [esp], edi
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x34]
lea ebx, [ecx - 1]
mov ebp, dword [esp + 0x64]
jmp 0x4eeb08
mov ebx, 0xffffffff
cmp ebx, ecx
jae 0x4eeb92
mov esi, dword [0x98d0b8]
test esi, esi
jne 0x4ee792
mov esi, dword [esp + 0x7c]
jmp 0x4ee7a3
call fcn.00471ac0
mov esi, dword [esp + 0x7c]
mov dword [edi], esi
mov ecx, dword [edx + ebx*4]
mov dword [edi + 4], ecx
mov dword [edx + ebx*4], esi
mov ecx, dword [eax + 0x2c]
mov edx, dword [eax + 0x28]
lea ebx, [ecx - 1]
jmp 0x4eeb25
mov ebx, 0xffffffff
cmp ebx, ecx
jae 0x4eeb84
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x4ee7d8
call fcn.00471ac0
mov dword [edi], esi
mov ebp, dword [edx + ebx*4]
mov dword [edi + 4], ebp
mov dword [edx + ebx*4], esi
mov edx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x70]
cmp edx, ebx
jne 0x4ee7f5
mov ecx, dword [eax + 0x38]
mov ebp, dword [eax + 0x34]
lea edi, [ecx - 1]
jmp 0x4eeb5a
mov ecx, dword [esp + 0x4c]
mov ebp, dword [edx]
test ebp, ebp
je 0x4ee8fb
nop
cmp dword [ebp + 4], edx
jne 0x4ee831
mov edi, dword [0x98d0b8]
mov ebx, dword [edx + 0x10]
test edi, edi
je 0x4ee82a
call fcn.00471ac0
mov dword [edi], ebx
mov eax, dword [ebp + 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [ebp + 4], ebx
mov ebx, dword [esp + 0x70]
mov edi, dword [edx + 0x10]
test edi, edi
je 0x4ee86c
mov ebx, dword [0x98d0b8]
mov eax, dword [edx + 0xc]
test ebx, ebx
je 0x4ee85e
mov dword [esp + 0x50], ecx
mov ebx, edi
call fcn.00471ac0
mov dword [edi], eax
mov ecx, dword [ebx + 0xc]
mov dword [edi + 4], ecx
mov ecx, dword [esp + 0x50]
mov edi, ebx
mov dword [edi + 0xc], eax
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
cmp dword [ebp + 8], edx
jne 0x4ee899
mov edi, dword [0x98d0b8]
mov ebx, dword [edx + 0xc]
test edi, edi
je 0x4ee892
call fcn.00471ac0
mov dword [edi], ebx
mov eax, dword [ebp + 8]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [ebp + 8], ebx
mov ebx, dword [esp + 0x70]
mov ebp, dword [edx + 0xc]
test ebp, ebp
je 0x4ee8c8
mov edi, dword [0x98d0b8]
mov ebx, dword [edx + 0x10]
test edi, edi
je 0x4ee8c1
call fcn.00471ac0
mov dword [edi], ebx
mov eax, dword [ebp + 0x10]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x8c]
mov dword [ebp + 0x10], ebx
mov ebx, dword [esp + 0x70]
mov ebp, dword [0x98d0b8]
test ebp, ebp
je 0x4ee8e7
mov ebp, dword [edx]
call fcn.00471ad0
mov dword [edi], ebp
mov ebp, dword [edx + 0xc]
mov dword [edi + 4], ebp
mov ebp, dword [edx + 0x10]
mov dword [edi + 8], ebp
mov dword [edx], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
mov ebp, dword [edx]
nop
test ebp, ebp
jne 0x4eeb3d
mov ebp, dword [edx + 0xc]
test ebp, ebp
jne 0x4eeb3d
mov ebp, dword [edx + 0x10]
test ebp, ebp
jne 0x4eeb3d
mov ebp, dword [esi + 8]
test ebp, ebp
je 0x4ee943
mov edi, dword [0x98d0b8]
test edi, edi
je 0x4ee93e
call fcn.00471ac0
mov dword [edi], edx
mov ebx, dword [ebp + 0x10]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [ebp + 0x10], edx
jmp 0x4ee961
mov edi, dword [0x98d0b8]
test edi, edi
je 0x4ee95e
call fcn.00471ac0
mov dword [edi], edx
mov ebx, dword [esi + 4]
mov dword [edi + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esi + 4], edx
mov edi, dword [0x98d0b8]
test edi, edi
je 0x4ee98d
call fcn.00471b00
mov dword [edi], edx
mov ebx, dword [esi + 8]
mov dword [edi + 4], ebx
mov dword [edi + 8], esi
mov ebx, dword [edx]
mov dword [edi + 0xc], ebx
mov dword [edi + 0x10], ebp
mov ebx, dword [edx + 0xc]
mov dword [edi + 0x14], ebx
mov ebx, dword [esp + 0x70]
mov dword [esi + 8], edx
mov dword [edx], esi
mov dword [edx + 0xc], ebp
jmp 0x4ee600
dec esi
mov edx, dword [esp + 0x70]
test esi, esi
jl 0x4edc89
cmp esi, ecx
jae 0x4eea8b
lea edx, [ebp + esi*4]
cmp dword [edx], edi
jne 0x4ee99a
jmp 0x4edc83
dec edx
mov eax, dword [esp + 0x68]
test edx, edx
jl 0x4edcb6
cmp edx, ecx
jae 0x4eea84
lea eax, [ebp + edx*4]
cmp dword [eax], edi
jne 0x4ee9bc
jmp 0x4edcb0
dec ebp
test ebp, ebp
jl 0x4eded6
cmp ebp, ecx
jae 0x4eea4a
lea edi, [edx + ebp*4]
cmp dword [edi], esi
jne 0x4ee9de
jmp 0x4ededb
dec ebp
test ebp, ebp
jl 0x4edf9d
cmp ebp, ecx
jae 0x4eea25
lea edi, [edx + ebp*4]
cmp dword [edi], esi
jne 0x4ee9f7
jmp 0x4edfa2
mov eax, edx
call fcn.00471b30
mov eax, esi
call fcn.00471b90
mov eax, edx
call fcn.00471b90
mov eax, ebp
call fcn.00471b30
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
mov eax, edi
call fcn.00471b90
mov eax, ebp
call fcn.00471b90
mov eax, ebp
call fcn.00471b30
mov eax, edx
call fcn.00471b30
mov eax, esi
call fcn.00471b90
mov eax, edx
call fcn.00471b90
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
mov ecx, edi
call fcn.00471b90
mov eax, edx
call fcn.00471b90
mov eax, edx
call fcn.00471b30
mov eax, esi
call fcn.00471b30
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3768]
mov dword [esp + 4], eax
call fcn.0046ae10
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3768]
mov dword [esp + 4], eax
call fcn.0046ae10
dec ebp
mov eax, dword [esp + 0x84]
test ebp, ebp
jl 0x4ee665
cmp ebp, ebx
jae 0x4eede7
lea eax, [edx + ebp*4]
cmp dword [eax], edi
jne 0x4eeac2
jmp 0x4ee65c
dec ebp
mov ecx, dword [esp + 0x34]
test ebp, ebp
jl 0x4ee691
cmp ebp, ebx
jae 0x4eecab
lea ecx, [edx + ebp*4]
cmp dword [ecx], edi
jne 0x4eeae6
jmp 0x4ee68b
dec ebx
test ebx, ebx
jl 0x4ee775
cmp ebx, ecx
jae 0x4eeb99
lea esi, [edx + ebx*4]
cmp dword [esi], ebp
jne 0x4eeb07
jmp 0x4ee77a
dec ebx
test ebx, ebx
jl 0x4ee7b4
cmp ebx, ecx
jae 0x4eeb8b
lea edi, [edx + ebx*4]
cmp dword [edi], ebp
jne 0x4eeb24
jmp 0x4ee7b9
lea eax, [0x6e0660]
mov dword [esp], eax
lea eax, [0x7a3768]
mov dword [esp + 4], eax
call fcn.0046ae10
dec edi
mov ebx, dword [esp + 0x70]
test edi, edi
jl 0x4eeb70
cmp edi, ecx
jae 0x4eeb7d
lea ebx, [ebp + edi*4]
cmp dword [ebx], esi
jne 0x4eeb55
mov ebx, dword [esp + 0x70]
jmp 0x4eeb75
mov edi, 0xffffffff
lea ecx, [edi + 1]
jmp 0x4ee7f9
mov eax, edi
call fcn.00471b30
mov eax, ebx
call fcn.00471b30
mov eax, ebx
call fcn.00471b30
mov eax, ebx
call fcn.00471b30
mov eax, ebx
call fcn.00471b30
dec edx
test edx, edx
jl 0x4eebb6
cmp edx, esi
jae 0x4eeca2
lea ebx, [eax + edx*4]
cmp dword [ebx], edi
jne 0x4eeba0
jmp 0x4eebbb
mov edx, 0xffffffff
cmp edx, 0xffffffff
je 0x4eec6a
cmp edx, esi
ja 0x4eec99
mov ebx, edx
shl edx, 2
lea ebp, [ebx + 1]
mov edi, dword [esp + 0x8c]
mov ecx, dword [edi + 0x30]
sub ecx, ebx
mov dword [esp + 0x58], ecx
neg ecx
sar ecx, 0x1f
and edx, ecx
mov ecx, esi
sub esi, ebx
add edx, eax
cmp ecx, ebp
jb 0x4eec92
lea ecx, [0x703880]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
lea edx, [esi - 1]
mov ebx, dword [esp + 0x58]
dec ebx
neg ebx
shl ebp, 2
sar ebx, 0x1f
and ebp, ebx
add eax, ebp
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x2c]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4eec8b
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x28]
test ebx, ebx
je 0x4eec54
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x30]
cmp ebx, edx
jb 0x4eec82
mov dword [eax + 0x2c], edx
mov ecx, dword [esp + 0x34]
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x4c]
mov esi, dword [esp + 0x6c]
jmp 0x4ee600
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
mov eax, ebp
call fcn.00471b90
mov eax, edx
mov ecx, esi
call fcn.00471b90
mov eax, edx
mov ecx, esi
call fcn.00471b30
mov eax, ebp
mov ecx, ebx
call fcn.00471b30
dec esi
test esi, esi
jl 0x4eecca
cmp esi, ebx
jae 0x4eedde
lea eax, [edx + esi*4]
cmp dword [eax], edi
jne 0x4eecb4
jmp 0x4eeccf
mov esi, 0xffffffff
cmp esi, 0xffffffff
je 0x4eed97
cmp esi, ebx
ja 0x4eedd5
mov dword [esp + 0x58], ebx
mov dword [esp + 0x24], esi
mov edi, dword [esp + 0x8c]
mov eax, dword [edi + 0x3c]
sub eax, esi
mov dword [esp + 0x54], eax
neg eax
shl esi, 2
sar eax, 0x1f
and esi, eax
mov eax, ebp
mov ebp, dword [esp + 0x24]
lea ecx, [ebp + 1]
sub ebx, ebp
lea ebp, [edx + esi]
mov esi, dword [esp + 0x58]
cmp esi, ecx
jb 0x4eedcc
mov dword [esp + 0x58], eax
lea eax, [0x703880]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
dec ebx
mov ebp, dword [esp + 0x54]
dec ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
shl ecx, 2
sar ebp, 0x1f
and ecx, ebp
add ecx, edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.00469900
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax + 0x38]
lea edx, [ecx - 1]
cmp ecx, edx
jbe 0x4eedc5
mov ebx, dword [0x98d0b8]
mov ebp, dword [eax + 0x34]
test ebx, ebx
je 0x4eed7d
mov ebx, dword [ebp + ecx*4 - 4]
call fcn.00471ab0
mov dword [edi], ebx
mov dword [ebp + ecx*4 - 4], 0
mov ebx, dword [eax + 0x3c]
cmp ebx, edx
jb 0x4eedbc
mov dword [eax + 0x38], edx
mov ecx, dword [esp + 0x34]
mov ebp, dword [esp + 0x58]
mov edx, dword [esp + 0x4c]
cmp ebp, edx
jg 0x4eeda4
lea esi, [edx - 1]
jmp 0x4eeda6
mov esi, edx
mov eax, dword [esp + 0x8c]
mov ebx, dword [esp + 0x70]
mov ecx, esi
mov esi, dword [esp + 0x6c]
jmp 0x4ee600
mov ecx, edx
mov edx, ebx
call fcn.00471b70
mov eax, edx
call fcn.00471b30
mov eax, ecx
mov ecx, esi
call fcn.00471b90
mov eax, esi
mov ecx, ebx
call fcn.00471b90
mov eax, esi
mov ecx, ebx
call fcn.00471b30
mov eax, ebp
mov ecx, ebx
call fcn.00471b30
mov ecx, esi
call fcn.00471b30
mov eax, edi
call fcn.00471b30
mov eax, esi
mov ecx, edi
call fcn.00471b30
call fcn.00471b30
call fcn.00471b90
mov eax, ebp
mov ecx, esi
call fcn.00471b30
mov eax, edi
call fcn.00471b30
dec edi
test edi, edi
jl 0x4eee34
cmp edi, ecx
jae 0x4eee5c
lea eax, [ebp + edi*4]
cmp dword [eax], ebx
jne 0x4eee21
jmp 0x4eee39
mov edi, 0xffffffff
cmp edi, 0xffffffff
jne 0x4ed7e0
mov ecx, dword [edx + 0x2c]
lea eax, [ecx - 1]
nop
cmp ecx, eax
jbe 0x4eee57
mov dword [edx + 0x2c], eax
add esp, 0x88
ret
call fcn.00471b30
mov eax, edi
call fcn.00471b30
nop
call fcn.004706b0
jmp fcn.004ed750