Function at 0x455480
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.0049e220
add eax, 0xfffffff8
cmp eax, 0x14
ja case.0x4554b3.18
xor ecx, ecx
mov cl, byte [eax + 0x4570dc]
jmp dword [ecx*4 + 0x4570b0]
mov al, byte [esi + 0xa7980]
test al, al
je 0x4554fc
mov al, byte [esi + 0xa7981]
test al, al
je 0x4554e2
mov edx, dword [esi + 0xa7990]
mov eax, dword [esi + 0xa7994]
neg edx
shl edx, 1
add eax, edx
jmp 0x455525
mov eax, dword [esi + 0xa798c]
mov ecx, dword [esi + 0xa7994]
neg eax
shl eax, 1
add ecx, eax
mov dword [esi + 0xa7994], ecx
jmp 0x45552b
mov eax, dword [esi + 0xa7978]
cmp eax, 1
jne 0x455512
mov eax, dword [esi + 0xa7994]
add eax, 0xffffffe2
jmp 0x455525
cmp eax, 2
mov eax, dword [esi + 0xa7994]
jne 0x455522
add eax, 0xffffffeb
jmp 0x455525
add eax, 0xffffffdc
mov dword [esi + 0xa7994], eax
mov eax, dword [esi + 0xa7970]
cmp dword [esi + 0xa7994], eax
jge 0x456fdc
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7994], eax
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov eax, dword [esi + 0xa7994]
inc eax
cmp eax, 0xb40
jae 0x456fdc
mov cl, byte [esi + eax + 0xa6db4]
test cl, cl
jne 0x455594
inc eax
cmp eax, 0xb40
jb 0x45556b
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7974]
cmp eax, ecx
jl 0x4555a0
mov eax, ecx
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7994], eax
call fcn.0049e1a0
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.0045e2e0
mov eax, dword [esi + 0xa7998]
mov ecx, dword [esi + 0xa7964]
add eax, edi
mov dword [esi + 0xa7998], eax
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, esi
call fcn.0045e2e0
mov al, byte [esi + 0xa79a2]
test al, al
je 0x455673
cmp dword [esi + 0xa79a8], 1
jle 0x455655
mov eax, dword [esi + 0xa79a4]
lea edx, [eax + 1]
push eax
lea eax, [esi + 0xa79ac]
push eax
mov dword [esi + 0xa79a4], edx
call fcn.0049ca70
add esp, 4
push eax
push str._s__02d.png
call fcn.0049cbc0
add esp, 0xc
push eax
lea ecx, [esi + 0x2b8]
push ecx
mov ecx, dword [esi + 8]
call fcn.00408e20
mov ecx, dword [esi + 8]
push 0xff
push 0xff
push 0xff
lea edx, [esi + 0x2b8]
push edx
call fcn.00408d30
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa79a2], 0
mov dword [esi + 0xa7998], ebx
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
cmp dword [esi + 0xa799c], ebx
je 0x4556bb
mov ecx, esi
call fcn.0045e2e0
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
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.0049e1a0
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.0049e1a0
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.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
mov ebp, 2
cmp eax, ebp
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 1
call fcn.0049e220
add eax, 0xfffffff5
cmp eax, 0x5d
ja case.0x4554b3.15
xor ecx, ecx
mov cl, byte [eax + 0x45716c]
jmp dword [ecx*4 + 0x4570f4]
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 4
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
push 3
lea edi, [eax + eax*4]
call fcn.0049e220
lea eax, [eax + edi*2 - 0x210]
cmp eax, 1
jl 0x456fdc
cmp eax, 0x63
jg 0x456fdc
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 0x4555d3
mov ecx, dword [esi + 8]
push ebx
push ebx
push ebx
lea edx, [esi + 0x2f8]
push edx
call fcn.00408d30
mov ecx, dword [esi + 8]
push ebx
push ebx
push ebx
lea eax, [esi + 0x318]
push eax
call fcn.00408d30
push ebx
push ebx
push ebx
lea ecx, [esi + 0x338]
push ecx
mov ecx, dword [esi + 8]
call fcn.00408d30
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa799c], 3
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7983], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7983], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
cmp eax, 0x40
jne 0x456fdc
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7980], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
add eax, 0xffffffcf
cmp eax, 0x24
ja case.0x4554b3.15
xor edx, edx
mov dl, byte [eax + 0x4571e8]
jmp dword [edx*4 + 0x4571cc]
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 5
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov edi, eax
push 4
shl edi, 8
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
add edi, eax
call fcn.0049e250
lea ecx, [edi + edi*2 + 5]
cmp eax, ecx
jne 0x4570a2
cmp edi, ebx
jle 0x456fdc
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], 6
mov eax, dword [esi + 0xa7994]
cmp eax, 0xb40
jge 0x455e12
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x455993
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.00408db0
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.0049e220
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0xa7964]
push edx
mov ebx, eax
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.0049e220
test bl, 0x80
mov dword [esp + 0x10], eax
je 0x4559fb
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.00408db0
test bl, 0x40
je 0x455a27
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.00408db0
test bl, 0x20
je 0x455a53
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.00408db0
test bl, 0x10
je 0x455a7f
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.00408db0
test bl, 8
je 0x455aab
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.00408db0
test bl, 4
je 0x455ad7
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.00408db0
test bl, 2
je 0x455b03
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.00408db0
test bl, 1
je 0x455b2f
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.00408db0
mov bl, byte [esp + 0x18]
test bl, 0x80
je 0x455b5f
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.00408db0
test bl, 0x40
je 0x455b8b
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.00408db0
test bl, 0x20
je 0x455bb7
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.00408db0
test bl, 0x10
je 0x455be3
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.00408db0
test bl, 8
je 0x455c0f
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.00408db0
test bl, 4
je 0x455c3b
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.00408db0
test bl, 2
je 0x455c67
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.00408db0
test bl, 1
je 0x455c93
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.00408db0
test byte [esp + 0x10], 0x80
je 0x455cc1
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.00408db0
test byte [esp + 0x10], 0x40
je 0x455cef
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.00408db0
test byte [esp + 0x10], 0x20
je 0x455d1d
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.00408db0
test byte [esp + 0x10], 0x10
je 0x455d4b
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.00408db0
test byte [esp + 0x10], 8
je 0x455d79
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.00408db0
test byte [esp + 0x10], 4
je 0x455da7
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.00408db0
test byte [esp + 0x10], 2
je 0x455dd5
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.00408db0
test byte [esp + 0x10], 1
je 0x455e03
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.00408db0
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 0x455942
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 5
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov edi, eax
mov ebp, 4
push ebp
shl edi, 8
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
add edi, eax
call fcn.0049e250
lea ecx, [edi + edi*2 + 5]
cmp eax, ecx
jne 0x4570a2
test edi, edi
jle 0x456fdc
mov dword [esp + 0x1c], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x14], 6
mov eax, dword [esi + 0xa7994]
cmp eax, 0xb40
jge 0x456391
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x455efc
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.00408db0
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.0049e220
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 0xa7964]
push edx
mov ebx, eax
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
inc eax
push eax
call fcn.0049e220
test bl, 0x80
mov dword [esp + 0x10], eax
je 0x455f65
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.00408db0
test bl, 0x40
je 0x455f92
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.00408db0
test bl, 0x20
je 0x455fbf
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.00408db0
test bl, 0x10
je 0x455fec
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.00408db0
test bl, 8
je 0x456019
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.00408db0
test bl, 4
je 0x456046
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.00408db0
test bl, 2
je 0x456073
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.00408db0
test bl, 1
je 0x4560a0
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.00408db0
mov bl, byte [esp + 0x18]
test bl, 0x80
je 0x4560d1
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.00408db0
test bl, 0x40
je 0x4560fe
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.00408db0
test bl, 0x20
je 0x45612b
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.00408db0
test bl, 0x10
je 0x456158
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.00408db0
test bl, 8
je 0x456185
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.00408db0
test bl, 4
je 0x4561b2
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.00408db0
test bl, 2
je 0x4561df
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.00408db0
test bl, 1
je 0x45620c
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.00408db0
test byte [esp + 0x10], 0x80
je 0x45623b
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.00408db0
test byte [esp + 0x10], 0x40
je 0x45626a
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.00408db0
test byte [esp + 0x10], 0x20
je 0x456299
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.00408db0
test byte [esp + 0x10], 0x10
je 0x4562c8
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.00408db0
test byte [esp + 0x10], 8
je 0x4562f7
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.00408db0
test byte [esp + 0x10], 4
je 0x456326
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.00408db0
test byte [esp + 0x10], 2
je 0x456355
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.00408db0
test byte [esp + 0x10], 1
je 0x456384
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.00408db0
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 0x455eaa
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 5
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov edi, eax
push 4
shl edi, 8
call fcn.0049e220
add edi, eax
cmp edi, ebx
jle 0x456fdc
mov ecx, dword [esi + 0xa7994]
cmp ecx, dword [esi + 0xa7974]
jge 0x456497
mov al, byte [esi + 0xa7985]
test al, al
je 0x45644d
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.00408db0
mov al, byte [esi + 0xa7984]
test al, al
je 0x45648a
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.00408db0
add dword [esi + 0xa7994], ebp
mov byte [esi + 0xa79a1], 1
dec edi
jne 0x4563fe
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 4
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
mov edi, eax
cmp edi, 1
jl 0x456fdc
cmp edi, 0xff
jg 0x456fdc
mov ecx, esi
call fcn.0045e2e0
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.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 4
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
cmp eax, 1
jl 0x456fdc
cmp eax, 0xff
jg 0x456fdc
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.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7982], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7982], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
cmp eax, 0x48
jne 0x456fdc
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7980], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
mov ecx, dword [esi + 0xa7964]
dec eax
push eax
call fcn.0049e220
cmp eax, 0x2e
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
mov ebx, ebp
call fcn.0049e250
cmp eax, ebp
jle 0x456fdc
mov ecx, dword [esi + 0xa7964]
lea edi, [ebx + 2]
lea edx, [edi - 1]
push edx
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
push ebx
mov ebp, eax
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
lea eax, [eax + eax*4]
lea eax, [ebp + eax*2]
push edi
lea ebp, [eax + eax*4]
call fcn.0049e220
lea ecx, [eax + ebp*2 - 0x14d0]
cmp ecx, 1
jl 0x4566dc
cmp ecx, 0x3e7
jg 0x4566dc
mov al, byte [esi + 0xa7980]
dec ecx
test al, al
je 0x4566c7
mov al, byte [esi + 0xa7981]
test al, al
je 0x4566ba
mov eax, dword [esi + 0xa7990]
imul eax, ecx
shl eax, 1
jmp 0x4566cd
mov eax, dword [esi + 0xa798c]
imul eax, ecx
shl eax, 1
jmp 0x4566cd
lea eax, [ecx + ecx*8]
shl eax, 2
cmp eax, 0xb40
jae 0x4566dc
mov byte [eax + esi + 0xa6db4], 0
mov ecx, dword [esi + 0xa7964]
add ebx, 4
call fcn.0049e250
cmp ebx, eax
jl 0x45664e
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
mov ecx, dword [esi + 0xa7964]
dec eax
push eax
call fcn.0049e220
cmp eax, 0x2e
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
mov ebx, ebp
call fcn.0049e250
cmp eax, ebp
jle 0x456fdc
lea edi, [ebx + 2]
lea ecx, [edi - 1]
push ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
push ebx
mov ebp, eax
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
lea edx, [eax + eax*4]
lea eax, [ebp + edx*2]
push edi
lea ebp, [eax + eax*4]
call fcn.0049e220
lea ecx, [eax + ebp*2 - 0x14d0]
cmp ecx, 1
jl 0x4567cc
cmp ecx, 0x3e7
jg 0x4567cc
mov al, byte [esi + 0xa7980]
dec ecx
test al, al
je 0x4567b7
mov al, byte [esi + 0xa7981]
test al, al
je 0x4567aa
mov eax, dword [esi + 0xa7990]
imul eax, ecx
shl eax, 1
jmp 0x4567bd
mov eax, dword [esi + 0xa798c]
imul eax, ecx
shl eax, 1
jmp 0x4567bd
lea eax, [ecx + ecx*8]
shl eax, 2
cmp eax, 0xb40
jae 0x4567cc
mov byte [eax + esi + 0xa6db4], 1
mov ecx, dword [esi + 0xa7964]
add ebx, 4
call fcn.0049e250
cmp ebx, eax
jl 0x45673e
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
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.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7968], 0x3c
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7968], 0x2d
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 4
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
push 3
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], ebx
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
mov cl, byte [esi + 0xa7980]
test cl, cl
je 0x45695e
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x456937
mov ecx, dword [esi + 0xa7990]
imul ecx, eax
shl ecx, 1
mov dword [esi + 0xa7970], ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
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.0049e1a0
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.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], 3
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7978], ebp
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
mov ebp, 4
cmp eax, ebp
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
mov ebx, eax
push 3
shl ebx, 8
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
add ebx, eax
mov dword [esp + 0x1c], ebx
call fcn.0049e250
lea ecx, [ebx + 4]
cmp eax, ecx
jne 0x4570a2
test ebx, ebx
mov dword [esp + 0x18], 0
jle 0x456fdc
mov edi, dword [esp + 0x20]
mov eax, dword [esi + 0xa7994]
cmp eax, 0xa00
jge 0x456c1f
mov cl, byte [esi + 0xa7985]
test cl, cl
je 0x456a89
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.00408db0
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.0049e220
mov ebx, eax
test bl, 1
je 0x456acb
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.00408db0
test bl, 2
je 0x456af8
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.00408db0
test bl, 4
je 0x456b25
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.00408db0
test bl, 8
je 0x456b52
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.00408db0
test bl, 0x10
je 0x456b7f
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.00408db0
test bl, 0x20
je 0x456bac
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.00408db0
test bl, 0x40
je 0x456bd9
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.00408db0
test bl, 0x80
je 0x456c06
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.00408db0
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 0x456a37
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push ebp
call fcn.0049e220
mov cl, byte [esi + 0xa7980]
test cl, cl
je 0x456c94
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x456c87
mov ecx, dword [esi + 0xa7990]
imul ecx, eax
shl ecx, 1
jmp 0x456cb0
mov ecx, dword [esi + 0xa798c]
imul ecx, eax
shl ecx, 1
jmp 0x456cb0
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 0x456fdc
mov dword [esi + 0xa7974], ecx
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7984], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7984], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7985], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7985], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 2
jl 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 1
call fcn.0049e220
add eax, 0xffffffdc
cmp eax, 0x51
ja case.0x4554b3.15
xor ecx, ecx
mov cl, byte [eax + 0x457254]
jmp dword [ecx*4 + 0x457210]
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 3
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0049e220
mov cl, byte [esi + 0xa7981]
test cl, cl
je 0x456dcb
mov ecx, dword [esi + 0xa7964]
mov dword [esi + 0xa7990], eax
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa798c], eax
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 4
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
call fcn.0049e250
cmp eax, 0x4c
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
push 2
call fcn.0049e220
mov ecx, dword [esi + 0xa7964]
push 3
mov edi, eax
call fcn.0049e220
cmp edi, 0x78
jl 0x456f66
cmp edi, 0x7a
jg 0x456f66
cmp eax, 0x21
jl 0x456f66
cmp eax, 0x7e
jg 0x456f66
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.0049e220
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 0x456e8d
mov eax, dword [esp + 0x18]
inc eax
cmp eax, 0x18
mov dword [esp + 0x18], eax
jl 0x456e84
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 0x456f33
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 0x456f44
inc ebp
add ebx, 0x18
cmp ebp, 0x30
jl 0x456f2f
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7986], 1
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov ecx, dword [esi + 0xa7964]
mov byte [esi + 0xa7986], 0
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], 1
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], ebx
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1a0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
mov dword [esi + 0xa797c], 0xffffffff
jmp 0x456fc0
mov eax, dword [esi]
mov ecx, esi
call dword [eax + 0x1c]
jmp 0x456fdc
mov byte [esi + 0xa7989], 1
jmp 0x456fdc
mov byte [esi + 0xa7989], 0
jmp 0x456fdc
mov byte [esi + 0xa7981], 1
jmp 0x456fdc
mov byte [esi + 0xa7981], 0
jmp 0x456fdc
mov byte [esi + 0xa798a], 1
mov byte [esi + 0xa7988], 1
jmp 0x456fdc
mov byte [esi + 0xa798a], 0
mov byte [esi + 0xa7988], 0
jmp 0x456fdc
mov al, byte [esi + 0xa7980]
test al, al
mov ecx, dword [esi + 0xa7964]
je 0x457095
call fcn.0049e250
cmp eax, 2
jne 0x4570a2
mov ecx, dword [esi + 0xa7964]
call fcn.0049e1f0
mov ecx, dword [esi + 0xa7964]
mov edi, eax
shl edi, 8
call fcn.0049e1f0
add edi, eax
push edi
mov ecx, esi
call fcn.0045da10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret
call fcn.0049e1f0
push eax
mov ecx, esi
call fcn.0045da10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x254
ret