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

Disassembly:
sub esp, 0x254
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov ecx, dword [esi + 0xa7964]
xor ebx, ebx
push ebx
mov byte [esp + 0x24], 0xff
call fcn.0048b6a0
add eax, 0xfffffff8
cmp eax, 0x14
ja case.0x43d3e3.18
xor ecx, ecx
mov cl, byte [eax + 0x43f00c]
jmp dword [ecx*4 + 0x43efe0]
mov al, byte [esi + 0xa7980]
test al, al
je 0x43d42c
mov al, byte [esi + 0xa7981]
test al, al
je 0x43d412
mov edx, dword [esi + 0xa7990]
mov eax, dword [esi + 0xa7994]
neg edx
shl edx, 1
add eax, edx
jmp 0x43d455
mov eax, dword [esi + 0xa798c]
mov ecx, dword [esi + 0xa7994]
neg eax
shl eax, 1
add ecx, eax
mov dword [esi + 0xa7994], ecx
jmp 0x43d45b
mov eax, dword [esi + 0xa7978]
cmp eax, 1
jne 0x43d442
mov eax, dword [esi + 0xa7994]
add eax, 0xffffffe2
jmp 0x43d455
cmp eax, 2
mov eax, dword [esi + 0xa7994]
jne 0x43d452
add eax, 0xffffffeb
jmp 0x43d455
add eax, 0xffffffdc
mov dword [esi + 0xa7994], eax
mov eax, dword [esi + 0xa7970]
cmp dword [esi + 0xa7994], eax
jge 0x43ef0c
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7994], eax
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov eax, dword [esi + 0xa7994]
inc eax
cmp eax, 0xb40
jae 0x43ef0c
mov cl, byte [esi + eax + 0xa6db4]
test cl, cl
jne 0x43d4c4
inc eax
cmp eax, 0xb40
jb 0x43d49b
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7974]
cmp eax, ecx
jl 0x43d4d0
mov eax, ecx
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7994], eax
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov cl, byte [esi + 0xa79a0]
mov edx, dword [esi + 0xa7968]
neg cl
sbb ecx, ecx
and ecx, 0x30
add ecx, edx
mov edi, ecx
mov ecx, esi
call fcn.00446210
mov eax, dword [esi + 0xa7998]
mov ecx, dword [esi + 0xa7964]
add eax, edi
mov dword [esi + 0xa7998], eax
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, esi
call fcn.00446210
mov al, byte [esi + 0xa79a2]
test al, al
je 0x43d5a3
cmp dword [esi + 0xa79a8], 1
jle 0x43d585
mov eax, dword [esi + 0xa79a4]
lea edx, [eax + 1]
push eax
lea eax, [esi + 0xa79ac]
push eax
mov dword [esi + 0xa79a4], edx
call fcn.004898e0
add esp, 4
push eax
push str._s__02d.png
call fcn.00489a30
add esp, 0xc
push eax
lea ecx, [esi + 0x2b8]
push ecx
mov ecx, dword [esi + 8]
call fcn.00408fa0
mov ecx, dword [esi + 8]
push 0xff
push 0xff
push 0xff
lea edx, [esi + 0x2b8]
push edx
call fcn.00408eb0
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa79a2], 0
mov dword [esi + 0xa7998], ebx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
cmp dword [esi + 0xa799c], ebx
je 0x43d5eb
mov ecx, esi
call fcn.00446210
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov eax, dword [esi + 0xa7970]
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7994], eax
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov byte [esi + 0xa7989], 1
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7987], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov byte [esi + 0xa7989], 0
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7987], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
mov ebp, 2
cmp eax, ebp
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 1
call fcn.0048b6a0
add eax, 0xfffffff5
cmp eax, 0x5d
ja case.0x43d3e3.15
xor ecx, ecx
mov cl, byte [eax + 0x43f09c]
jmp dword [ecx*4 + 0x43f024]
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 4
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
push 3
lea edi, [eax + eax*4]
call fcn.0048b6a0
lea eax, [eax + edi*2 - 0x210]
cmp eax, 1
jl 0x43ef0c
cmp eax, 0x63
jg 0x43ef0c
mov dl, byte [esi + 0xa79a0]
mov ecx, dword [esi + 0xa7968]
neg dl
sbb edx, edx
imul ecx, eax
and edx, 0x30
add edx, ecx
mov edi, edx
jmp 0x43d503
mov ecx, dword [esi + 8]
push ebx
push ebx
push ebx
lea edx, [esi + 0x2f8]
push edx
call fcn.00408eb0
mov ecx, dword [esi + 8]
push ebx
push ebx
push ebx
lea eax, [esi + 0x318]
push eax
call fcn.00408eb0
push ebx
push ebx
push ebx
lea ecx, [esi + 0x338]
push ecx
mov ecx, dword [esi + 8]
call fcn.00408eb0
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa799c], 3
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7983], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7983], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
cmp eax, 0x40
jne 0x43ef0c
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7980], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
add eax, 0xffffffcf
cmp eax, 0x24
ja case.0x43d3e3.15
xor edx, edx
mov dl, byte [eax + 0x43f118]
jmp dword [edx*4 + 0x43f0fc]
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 5
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov edi, eax
push 4
shl edi, 8
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
add edi, eax
call fcn.0048b6d0
lea ecx, [edi + edi*2 + 5]
cmp eax, ecx
jne 0x43efd2
cmp edi, ebx
jle 0x43ef0c
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], 6
mov eax, dword [esi + 0xa7994]
cmp eax, 0xb40
jge 0x43dd42
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x43d8c3
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 8]
push 0xff
push 0xff
push 0xff
push 0x60
push ebp
push ebx
push eax
shl edx, 5
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
mov byte [esp + 0x20], 0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
dec ecx
push ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6a0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0xa7964]
push edx
mov ebx, eax
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.0048b6a0
test bl, 0x80
mov dword [esp + 0x10], eax
je 0x43d92b
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x30
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x40
je 0x43d957
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x32
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x20
je 0x43d983
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x34
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x10
je 0x43d9af
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x36
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 8
je 0x43d9db
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x38
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 4
je 0x43da07
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x3a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 2
je 0x43da33
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x3c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 1
je 0x43da5f
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x3e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
mov bl, byte [esp + 0x18]
test bl, 0x80
je 0x43da8f
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x40
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x40
je 0x43dabb
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x42
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x20
je 0x43dae7
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x44
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x10
je 0x43db13
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x46
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 8
je 0x43db3f
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x48
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 4
je 0x43db6b
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x4a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 2
je 0x43db97
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x4c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 1
je 0x43dbc3
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x4e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x80
je 0x43dbf1
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x50
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x40
je 0x43dc1f
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x52
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x20
je 0x43dc4d
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x54
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x10
je 0x43dc7b
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x56
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 8
je 0x43dca9
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x58
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 4
je 0x43dcd7
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x5a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 2
je 0x43dd05
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x5c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 1
je 0x43dd33
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push ebp
push ebp
push 0x5e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
add dword [esi + 0xa7994], ebp
mov byte [esi + 0xa79a1], 1
xor ebx, ebx
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 3
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x43d872
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 5
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov edi, eax
mov ebp, 4
push ebp
shl edi, 8
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
add edi, eax
call fcn.0048b6d0
lea ecx, [edi + edi*2 + 5]
cmp eax, ecx
jne 0x43efd2
test edi, edi
jle 0x43ef0c
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], 6
mov eax, dword [esi + 0xa7994]
cmp eax, 0xb40
jge 0x43e2c1
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x43de2c
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 8]
push 0xff
push 0xff
push 0xff
push 0x60
push ebp
push 0
push eax
shl edx, 5
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
mov byte [esp + 0x20], 0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x14]
dec ecx
push ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6a0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0xa7964]
push edx
mov ebx, eax
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.0048b6a0
test bl, 0x80
mov dword [esp + 0x10], eax
je 0x43de95
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x30
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x40
je 0x43dec2
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x32
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x20
je 0x43deef
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x34
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x10
je 0x43df1c
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x36
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 8
je 0x43df49
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x38
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 4
je 0x43df76
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x3a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 2
je 0x43dfa3
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x3c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 1
je 0x43dfd0
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x3e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
mov bl, byte [esp + 0x18]
test bl, 0x80
je 0x43e001
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x40
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x40
je 0x43e02e
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x42
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x20
je 0x43e05b
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x44
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 0x10
je 0x43e088
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x46
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 8
je 0x43e0b5
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x48
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 4
je 0x43e0e2
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x4a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 2
je 0x43e10f
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x4c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test bl, 1
je 0x43e13c
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x4e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x80
je 0x43e16b
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x50
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x40
je 0x43e19a
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x52
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x20
je 0x43e1c9
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x54
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 0x10
je 0x43e1f8
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x56
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 8
je 0x43e227
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x58
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 4
je 0x43e256
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x5a
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 2
je 0x43e285
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x5c
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
test byte [esp + 0x10], 1
je 0x43e2b4
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 2
push ebp
push 0x5e
shl edx, 5
push ecx
mov ecx, dword [esi + 8]
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
add dword [esi + 0xa7994], ebp
mov byte [esi + 0xa79a1], 1
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
add ecx, 3
dec eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x1c], eax
jne 0x43ddda
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 5
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov edi, eax
push 4
shl edi, 8
call fcn.0048b6a0
add edi, eax
cmp edi, ebx
jle 0x43ef0c
mov ecx, dword [esi + 0xa7994]
cmp ecx, dword [esi + 0xa7974]
jge 0x43e3c7
mov al, byte [esi + 0xa7985]
test al, al
je 0x43e37d
mov edx, dword [esi + 0xa799c]
push 0xff
push 0xff
shl edx, 5
lea eax, [edx + esi]
mov edx, dword [eax + 0x2dc]
push 0xff
push edx
push ebp
push ebx
push ecx
mov ecx, dword [esi + 8]
add eax, 0x2d8
push eax
call fcn.00408f30
mov al, byte [esi + 0xa7984]
test al, al
je 0x43e3ba
mov ecx, dword [esi + 0xa799c]
mov eax, dword [esi + 0xa7994]
push 0xff
push 0xff
push 0xff
push ebp
push ebp
push 0x62
shl ecx, 5
lea edx, [ecx + esi + 0x2d8]
mov ecx, dword [esi + 8]
push eax
push edx
call fcn.00408f30
add dword [esi + 0xa7994], ebp
mov byte [esi + 0xa79a1], 1
dec edi
jne 0x43e32e
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 4
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
mov edi, eax
cmp edi, 1
jl 0x43ef0c
cmp edi, 0xff
jg 0x43ef0c
mov ecx, esi
call fcn.00446210
lea eax, [edi + edi*4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov eax, 0x88888889
imul ecx
add edx, ecx
mov ecx, dword [esi + 0xa7964]
sar edx, 6
mov eax, edx
shr eax, 0x1f
add edx, eax
add dword [esi + 0xa7998], edx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 4
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
cmp eax, 1
jl 0x43ef0c
cmp eax, 0xff
jg 0x43ef0c
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov eax, 0x88888889
imul ecx
add edx, ecx
sar edx, 6
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7968], edx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7982], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7982], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
cmp eax, 0x48
jne 0x43ef0c
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7980], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
mov ecx, dword [esi + 0xa7964]
dec eax
push eax
call fcn.0048b6a0
cmp eax, 0x2e
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
mov ebx, ebp
call fcn.0048b6d0
cmp eax, ebp
jle 0x43ef0c
mov ecx, dword [esi + 0xa7964]
lea edi, [ebx + 2]
lea edx, [edi - 1]
push edx
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
push ebx
mov ebp, eax
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
lea eax, [eax + eax*4]
lea eax, [ebp + eax*2]
push edi
lea ebp, [eax + eax*4]
call fcn.0048b6a0
lea ecx, [eax + ebp*2 - 0x14d0]
cmp ecx, 1
jl 0x43e60c
cmp ecx, 0x3e7
jg 0x43e60c
mov al, byte [esi + 0xa7980]
dec ecx
test al, al
je 0x43e5f7
mov al, byte [esi + 0xa7981]
test al, al
je 0x43e5ea
mov eax, dword [esi + 0xa7990]
imul eax, ecx
shl eax, 1
jmp 0x43e5fd
mov eax, dword [esi + 0xa798c]
imul eax, ecx
shl eax, 1
jmp 0x43e5fd
lea eax, [ecx + ecx*8]
shl eax, 2
cmp eax, 0xb40
jae 0x43e60c
mov byte [eax + esi + 0xa6db4], 0
mov ecx, dword [esi + 0xa7964]
add ebx, 4
call fcn.0048b6d0
cmp ebx, eax
jl 0x43e57e
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
mov ecx, dword [esi + 0xa7964]
dec eax
push eax
call fcn.0048b6a0
cmp eax, 0x2e
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
mov ebx, ebp
call fcn.0048b6d0
cmp eax, ebp
jle 0x43ef0c
lea edi, [ebx + 2]
lea ecx, [edi - 1]
push ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
push ebx
mov ebp, eax
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*2]
push edi
lea ebp, [eax + eax*4]
call fcn.0048b6a0
lea ecx, [eax + ebp*2 - 0x14d0]
cmp ecx, 1
jl 0x43e6fc
cmp ecx, 0x3e7
jg 0x43e6fc
mov al, byte [esi + 0xa7980]
dec ecx
test al, al
je 0x43e6e7
mov al, byte [esi + 0xa7981]
test al, al
je 0x43e6da
mov eax, dword [esi + 0xa7990]
imul eax, ecx
shl eax, 1
jmp 0x43e6ed
mov eax, dword [esi + 0xa798c]
imul eax, ecx
shl eax, 1
jmp 0x43e6ed
lea eax, [ecx + ecx*8]
shl eax, 2
cmp eax, 0xb40
jae 0x43e6fc
mov byte [eax + esi + 0xa6db4], 1
mov ecx, dword [esi + 0xa7964]
add ebx, 4
call fcn.0048b6d0
cmp ebx, eax
jl 0x43e66e
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
xor eax, eax
mov ecx, 0x2d0
lea edi, [esi + 0xa6db4]
rep stosd dword es:[edi], eax
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7968], 0x3c
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7968], 0x2d
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 4
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], ebx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
mov cl, byte [esi + 0xa7980]
test cl, cl
je 0x43e88e
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x43e867
mov ecx, dword [esi + 0xa7990]
imul ecx, eax
shl ecx, 1
mov dword [esi + 0xa7970], ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov edx, dword [esi + 0xa798c]
mov ecx, dword [esi + 0xa7964]
imul edx, eax
shl edx, 1
mov dword [esi + 0xa7970], edx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov eax, 0x66666667
imul ecx
mov ecx, dword [esi + 0xa7964]
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esi + 0xa7970], edx
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], 3
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], ebp
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
mov ebp, 4
cmp eax, ebp
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
mov ebx, eax
push 3
shl ebx, 8
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
add ebx, eax
mov dword [esp + 0x1c], ebx
call fcn.0048b6d0
lea ecx, [ebx + 4]
cmp eax, ecx
jne 0x43efd2
test ebx, ebx
mov dword [esp + 0x18], 0
jle 0x43ef0c
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0xa7994]
cmp eax, 0xa00
jge 0x43eb4f
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x43e9b9
mov edx, dword [esi + 0xa799c]
mov ecx, dword [esi + 8]
push 0xff
push 0xff
push 0xff
push 0x60
push ebp
push 0
push eax
shl edx, 5
lea eax, [edx + esi + 0x2d8]
push eax
call fcn.00408f30
mov byte [esp + 0x20], 0
mov edi, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
add ecx, 4
push ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6a0
mov ebx, eax
test bl, 1
je 0x43e9fb
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x30
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 2
je 0x43ea28
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x36
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 4
je 0x43ea55
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x3c
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 8
je 0x43ea82
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x42
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 0x10
je 0x43eaaf
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x48
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 0x20
je 0x43eadc
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x4e
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 0x40
je 0x43eb09
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x54
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
test bl, 0x80
je 0x43eb36
mov eax, dword [esi + 0xa799c]
mov edx, dword [esi + 0xa7994]
push edi
push edi
push edi
push 6
push ebp
push 0x5a
shl eax, 5
lea ecx, [eax + esi + 0x2d8]
push edx
push ecx
mov ecx, dword [esi + 8]
call fcn.00408f30
mov eax, dword [esi + 0xa7994]
mov ebx, dword [esp + 0x1c]
add eax, ebp
mov dword [esi + 0xa7994], eax
mov byte [esi + 0xa79a1], 1
mov eax, dword [esp + 0x18]
inc eax
cmp eax, ebx
mov dword [esp + 0x18], eax
jl 0x43e967
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0048b6a0
mov cl, byte [esi + 0xa7980]
test cl, cl
je 0x43ebc4
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x43ebb7
mov ecx, dword [esi + 0xa7990]
imul ecx, eax
shl ecx, 1
jmp 0x43ebe0
mov ecx, dword [esi + 0xa798c]
imul ecx, eax
shl ecx, 1
jmp 0x43ebe0
lea eax, [eax + eax*4]
lea ecx, [eax + eax*8]
shl ecx, 3
mov eax, 0x66666667
imul ecx
mov ecx, edx
sar ecx, 2
mov edx, ecx
shr edx, 0x1f
add ecx, edx
cmp ecx, 0xb40
jge 0x43ef0c
mov dword [esi + 0xa7974], ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7984], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7984], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7985], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7985], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 2
jl 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 1
call fcn.0048b6a0
add eax, 0xffffffdc
cmp eax, 0x51
ja case.0x43d3e3.15
xor ecx, ecx
mov cl, byte [eax + 0x43f184]
jmp dword [ecx*4 + 0x43f140]
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 3
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0048b6a0
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x43ecfb
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7990], eax
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa798c], eax
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 4
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0048b6d0
cmp eax, 0x4c
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0048b6a0
mov ecx, dword [esi + 0xa7964]
push 3
mov edi, eax
call fcn.0048b6a0
cmp edi, 0x78
jl 0x43ee96
cmp edi, 0x7a
jg 0x43ee96
cmp eax, 0x21
jl 0x43ee96
cmp eax, 0x7e
jg 0x43ee96
sub edi, 0x78
sub eax, 0x21
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], edi
mov ebp, 4
lea edi, [esp + eax + 0x3c]
mov ebx, 3
mov ecx, dword [esi + 0xa7964]
mov eax, ebp
push eax
inc ebp
call fcn.0048b6a0
mov edx, eax
shr edx, 7
and dl, 1
mov byte [edi - 0x18], dl
mov ecx, eax
shr ecx, 6
and cl, 1
mov byte [edi], cl
mov edx, eax
shr edx, 5
and dl, 1
mov byte [edi + 0x18], dl
mov ecx, eax
shr ecx, 4
and cl, 1
mov byte [edi + 0x30], cl
mov edx, eax
shr edx, 3
and dl, 1
mov byte [edi + 0x48], dl
mov ecx, eax
mov edx, eax
shr ecx, 2
shr edx, 1
and cl, 1
mov byte [edi + 0x60], cl
and dl, 1
and al, 1
mov byte [edi + 0x78], dl
mov byte [edi + 0x90], al
add edi, 0xc0
dec ebx
jne 0x43edbd
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x18
mov dword [esp + 0x18], eax
jl 0x43edb4
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
lea ecx, [eax + eax*2]
shl ecx, 4
sub ecx, eax
lea eax, [edx + ecx*2]
lea edi, [eax + eax*2]
xor ebp, ebp
shl edi, 4
mov dword [esp + 0x1c], edi
lea ebx, [esp + 0x24]
jmp 0x43ee63
mov edi, dword [esp + 0x1c]
mov eax, ebp
cdq
sub eax, edx
sar eax, 1
add eax, edi
lea edi, [eax + eax*2]
xor ecx, ecx
shl edi, 4
mov eax, ecx
cdq
sub eax, edx
mov dl, byte [ebx + ecx]
sar eax, 1
add eax, edi
inc ecx
cmp ecx, 0x30
mov byte [eax + esi + 0x83b4], dl
jl 0x43ee74
inc ebp
add ebx, 0x18
cmp ebp, 0x30
jl 0x43ee5f
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7986], 1
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7986], 0
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], 1
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], ebx
mov ecx, dword [esi + 0xa7964]
call fcn.0048b620
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], 0xffffffff
jmp 0x43eef0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
jmp 0x43ef0c
mov byte [esi + 0xa7989], 1
jmp 0x43ef0c
mov byte [esi + 0xa7989], 0
jmp 0x43ef0c
mov byte [esi + 0xa7981], 1
jmp 0x43ef0c
mov byte [esi + 0xa7981], 0
jmp 0x43ef0c
mov byte [esi + 0xa798a], 1
mov byte [esi + 0xa7988], 1
jmp 0x43ef0c
mov byte [esi + 0xa798a], 0
mov byte [esi + 0xa7988], 0
jmp 0x43ef0c
mov al, byte [esi + 0xa7980]
test al, al
mov ecx, dword [esi + 0xa7964]
je 0x43efc5
call fcn.0048b6d0
cmp eax, 2
jne 0x43efd2
mov ecx, dword [esi + 0xa7964]
call fcn.0048b670
mov ecx, dword [esi + 0xa7964]
mov edi, eax
shl edi, 8
call fcn.0048b670
add edi, eax
push edi
mov ecx, esi
call fcn.00445940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
call fcn.0048b670
push eax
mov ecx, esi
call fcn.00445940
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret