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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x10c
mov esi, dword [0x42a2e4]
mov eax, dword [0x458fc8]
mov ecx, dword [0x458fd4]
mov edx, dword [0x458fd0]
mov ebx, dword [0x458fcc]
cmp esi, 5
jle 0x40dbc9
mov dword [0x4565bc], 0
test eax, eax
mov eax, dword [0x456748]
mov dword [0x4565b8], eax
js 0x40df92
mov ecx, dword [0x45674c]
movzx edx, byte [0x4565a9]
mov dword [0x4565c4], 0
mov dword [0x4565c0], ecx
test dl, dl
jne 0x41129c
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x4565ae], cx
movzx edx, byte [0x4565d1]
mov dword [0x4565b4], eax
mov ecx, dword [0x45675c]
mov eax, dword [0x456758]
mov dword [0x4565e4], 0
mov dword [0x4565e8], ecx
mov dword [0x4565e0], eax
mov dword [0x4565ec], 0
test dl, dl
jne 0x411230
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x4565d6], cx
movzx edx, byte [0x4565f9]
mov dword [0x4565dc], eax
mov ecx, dword [0x45676c]
mov eax, dword [0x456768]
mov dword [0x45660c], 0
mov dword [0x456610], ecx
mov dword [0x456608], eax
mov dword [0x456614], 0
test dl, dl
jne 0x411220
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x4565fe], cx
movzx edx, byte [0x456621]
mov dword [0x456604], eax
mov ecx, dword [0x45677c]
mov eax, dword [0x456778]
mov dword [0x456634], 0
mov dword [0x456638], ecx
mov dword [0x456630], eax
mov dword [0x45663c], 0
test dl, dl
jne 0x411270
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x456626], cx
movzx edx, byte [0x456649]
mov dword [0x45662c], eax
mov ecx, dword [0x45678c]
mov eax, dword [0x456788]
mov dword [0x45665c], 0
mov dword [0x456660], ecx
mov dword [0x456658], eax
mov dword [0x456664], 0
test dl, dl
jne 0x411260
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x45664e], cx
movzx edx, byte [0x456671]
mov dword [0x456654], eax
mov ecx, dword [0x45679c]
mov eax, dword [0x456798]
mov dword [0x456684], 0
mov dword [0x456688], ecx
mov dword [0x456680], eax
mov dword [0x45668c], 0
test dl, dl
jne 0x411250
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x456676], cx
movzx edx, byte [0x456699]
mov dword [0x45667c], eax
mov ecx, dword [0x4567ac]
mov eax, dword [0x4567a8]
mov dword [0x4566ac], 0
mov dword [0x4566b0], ecx
mov dword [0x4566a8], eax
mov dword [0x4566b4], 0
test dl, dl
jne 0x411240
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x45669e], cx
movzx edx, byte [0x4566c1]
mov dword [0x4566a4], eax
mov ecx, dword [0x4567bc]
mov eax, dword [0x4567b8]
mov dword [0x4566d4], 0
mov dword [0x4566d8], ecx
mov dword [0x4566d0], eax
mov dword [0x4566dc], 0
test dl, dl
jne 0x4112bc
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x4566c6], cx
movzx edx, byte [0x4566e9]
mov dword [0x4566cc], eax
mov ecx, dword [0x4567cc]
mov eax, dword [0x4567c8]
mov dword [0x4566fc], 0
mov dword [0x456700], ecx
mov dword [0x4566f8], eax
mov dword [0x456704], 0
test dl, dl
jne 0x4112ac
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ecx, edx
mov word [0x4566ee], cx
movzx edx, byte [0x456711]
mov dword [0x4566f4], eax
mov ecx, dword [0x4567dc]
mov eax, dword [0x4567d8]
mov dword [0x456724], 0
mov dword [0x456728], ecx
mov dword [0x456720], eax
mov dword [0x45672c], 0
test dl, dl
jne 0x411280
mov eax, 0x88888889
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x45671c], eax
sub ecx, edx
mov word [0x456716], cx
jmp 0x40e271
test eax, eax
js 0x40e3cb
test ebx, ebx
js 0x4104ec
mov eax, dword [0x456748]
mov dword [0x4565bc], 0
mov dword [0x4565b8], eax
test edx, edx
js 0x411491
mov ebx, dword [0x45674c]
mov dword [0x4565c4], 0
mov dword [0x4565c0], ebx
test ecx, ecx
js 0x411f61
movzx edx, byte [0x4565a9]
test dl, dl
jne 0x41135c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x4565ae], bx
mov ebx, dword [0x45675c]
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov dword [0x4565e4], 0
mov dword [0x4565e0], eax
mov dword [0x4565e8], ebx
mov dword [0x4565ec], 0
test ecx, ecx
js 0x411edd
movzx edx, byte [0x4565d1]
test dl, dl
jne 0x41134c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x4565d6], bx
mov ebx, dword [0x45676c]
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov dword [0x45660c], 0
mov dword [0x456608], eax
mov dword [0x456610], ebx
mov dword [0x456614], 0
test ecx, ecx
js 0x411f1f
movzx edx, byte [0x4565f9]
test dl, dl
jne 0x41133c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x4565fe], bx
mov ebx, dword [0x45677c]
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov dword [0x456634], 0
mov dword [0x456630], eax
mov dword [0x456638], ebx
mov dword [0x45663c], 0
test ecx, ecx
js 0x411e59
movzx edx, byte [0x456621]
test dl, dl
jne 0x41132c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x456626], bx
mov ebx, dword [0x45678c]
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov dword [0x45665c], 0
mov dword [0x456658], eax
mov dword [0x456660], ebx
mov dword [0x456664], 0
test ecx, ecx
js 0x41194d
movzx edx, byte [0x456649]
test dl, dl
jne 0x41131c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x45664e], bx
mov ebx, dword [0x45679c]
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov dword [0x456684], 0
mov dword [0x456680], eax
mov dword [0x456688], ebx
mov dword [0x45668c], 0
test ecx, ecx
js 0x411efe
movzx edx, byte [0x456671]
test dl, dl
jne 0x41130c
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x456676], bx
mov ebx, dword [0x4567ac]
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov dword [0x4566ac], 0
mov dword [0x4566a8], eax
mov dword [0x4566b0], ebx
mov dword [0x4566b4], 0
test ecx, ecx
js 0x411ebc
movzx edx, byte [0x456699]
test dl, dl
jne 0x4112fc
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x45669e], bx
mov ebx, dword [0x4567bc]
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov dword [0x4566d4], 0
mov dword [0x4566d0], eax
mov dword [0x4566d8], ebx
mov dword [0x4566dc], 0
test ecx, ecx
js 0x411f40
movzx edx, byte [0x4566c1]
test dl, dl
jne 0x4112ec
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x4566c6], bx
mov ebx, dword [0x4567cc]
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov dword [0x4566fc], 0
mov dword [0x4566f8], eax
mov dword [0x456700], ebx
mov dword [0x456704], 0
test ecx, ecx
js 0x411e7a
movzx edx, byte [0x4566e9]
test dl, dl
jne 0x4112dc
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x4566ee], bx
mov ebx, dword [0x4567dc]
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456724], 0
mov dword [0x456720], eax
mov dword [0x456728], ebx
mov dword [0x45672c], 0
test ecx, ecx
js 0x411e9b
movzx edx, byte [0x456711]
test dl, dl
jne 0x4112cc
mov eax, 0x88888889
mul ebx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x456716], bx
mov dword [0x45671c], eax
jmp 0x40e271
mov ebx, dword [0x45674c]
mov ecx, 0x88888889
mov dword [0x4565c4], 0
mov byte [0x4565a9], 0x1e
mov eax, ebx
mov dword [0x4565c0], ebx
mul ecx
mov byte [0x4565d1], 0x1e
mov dword [0x4565e4], 0
mov dword [0x4565ec], 0
mov eax, edx
mov byte [0x4565f9], 0x1e
shr eax, 4
mov dword [0x45660c], 0
imul edx, eax, 0x1e
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov dword [0x456614], 0
mov dword [0x4565e0], eax
sub ebx, edx
mov byte [0x456621], 0x1e
mov word [0x4565ae], bx
mov ebx, dword [0x45675c]
mov dword [0x456634], 0
mov eax, ebx
mov dword [0x4565e8], ebx
mov dword [0x45663c], 0
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov dword [0x456608], eax
sub ebx, edx
mov word [0x4565d6], bx
mov ebx, dword [0x45676c]
mov eax, ebx
mov dword [0x456610], ebx
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov dword [0x456630], eax
sub ebx, edx
mov word [0x4565fe], bx
mov ebx, dword [0x45677c]
mov eax, ebx
mov dword [0x456638], ebx
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub ebx, edx
mov word [0x456626], bx
mov dword [0x45662c], eax
mov ebx, dword [0x45678c]
mov eax, dword [0x456788]
mov byte [0x456649], 0x1e
mov dword [0x456660], ebx
mov dword [0x456658], eax
mov eax, ebx
mul ecx
mov dword [0x45665c], 0
mov dword [0x456664], 0
mov dword [0x456684], 0
mov eax, edx
mov dword [0x45668c], 0
shr eax, 4
mov byte [0x456671], 0x1e
imul edx, eax, 0x1e
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov dword [0x4566ac], 0
mov dword [0x456680], eax
sub ebx, edx
mov dword [0x4566b4], 0
mov word [0x45664e], bx
mov ebx, dword [0x45679c]
mov byte [0x456699], 0x1e
mov eax, ebx
mov dword [0x456688], ebx
mov dword [0x4566d4], 0
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov dword [0x4566a8], eax
sub ebx, edx
mov word [0x456676], bx
mov ebx, dword [0x4567ac]
mov eax, ebx
mov dword [0x4566b0], ebx
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov dword [0x4566d0], eax
sub ebx, edx
mov word [0x45669e], bx
mov ebx, dword [0x4567bc]
mov eax, ebx
mov dword [0x4566d8], ebx
mov dword [0x4566dc], 0
mul ecx
mov byte [0x4566c1], 0x1e
mov dword [0x4566fc], 0
mov eax, edx
mov dword [0x456704], 0
shr eax, 4
mov byte [0x4566e9], 0x1e
imul edx, eax, 0x1e
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov dword [0x456724], 0
mov dword [0x4566f8], eax
sub ebx, edx
mov byte [0x456711], 0x1e
mov word [0x4566c6], bx
mov ebx, dword [0x4567cc]
mov dword [0x45672c], 0
mov eax, ebx
mov dword [0x456700], ebx
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456720], eax
sub ebx, edx
mov word [0x4566ee], bx
mov ebx, dword [0x4567dc]
mov eax, ebx
mov dword [0x456728], ebx
mul ecx
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x45671c], eax
sub ebx, edx
mov word [0x456716], bx
mov ebp, 0x4567e8
mov esi, 2
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], esi
mov ebx, dword [esp + 0x34]
mov ecx, 0x4565a9
jmp 0x40e318
movzx edx, al
mov eax, esi
mov dword [esp + 0x30], edx
mov esi, edx
xor edx, edx
div esi
add dx, word [ecx + 5]
mov word [esp + 0x2c], dx
xor edx, edx
mov esi, eax
mov eax, dword [ebx + 0xa0]
add eax, dword [esp + 0x18]
adc edx, dword [esp + 0x1c]
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov dword [ecx + 0xf], eax
mov dword [ecx + 0x13], edx
mov eax, dword [ebx + 0xa4]
xor edx, edx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
add eax, edi
movzx edi, word [esp + 0x2c]
adc edx, ebp
mov dword [ecx + 0x17], eax
mov eax, dword [ebx + 0xa4]
mov dword [ecx + 0x1b], edx
xor edx, edx
div dword [esp + 0x30]
add edi, edx
add eax, esi
mov word [ecx + 5], di
add dword [ecx + 0xb], eax
add ecx, 0x28
add ebx, 0x10
cmp ecx, 0x456739
je 0x40e7b6
mov eax, dword [ecx + 0xf]
mov edi, dword [ebx]
xor ebp, ebp
mov dword [esp + 0x24], 0
mov edx, dword [ecx + 0x13]
mov esi, dword [ebx + 4]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], eax
movzx eax, byte [ecx]
mov dword [esp + 0x18], edi
mov ebp, dword [ecx + 0x1b]
mov dword [esp + 0x14], edx
mov edi, dword [ecx + 0x17]
mov dword [esp + 0x20], esi
test al, al
jne 0x40e298
mov eax, 0x88888889
mul esi
shr edx, 4
imul eax, edx, 0x1e
mov dword [esp + 0x2c], edx
xor edx, edx
sub esi, eax
mov eax, dword [ebx + 0xa0]
add si, word [ecx + 5]
add eax, dword [esp + 0x18]
adc edx, dword [esp + 0x1c]
add eax, dword [esp + 0x10]
adc edx, dword [esp + 0x14]
mov dword [ecx + 0xf], eax
mov eax, dword [ebx + 0xa4]
mov dword [ecx + 0x13], edx
xor edx, edx
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
add eax, edi
adc edx, ebp
mov dword [ecx + 0x17], eax
mov eax, 0x88888889
mov ebp, dword [ebx + 0xa4]
mov dword [ecx + 0x1b], edx
mul dword [ebx + 0xa4]
shr edx, 4
imul eax, edx, 0x1e
sub ebp, eax
mov eax, dword [esp + 0x2c]
add esi, ebp
mov word [ecx + 5], si
add eax, edx
jmp 0x40e303
mov eax, dword [0x456748]
mov dword [0x4565bc], 0
mov dword [0x4565b8], eax
test ebx, ebx
js 0x410960
test edx, edx
js 0x41196e
mov edi, dword [0x45674c]
lea ebx, [esi*4]
mov dword [0x4565c4], 0
lea eax, [ebx + esi]
mov dword [0x4565c0], edi
shl eax, 5
test ecx, ecx
js 0x412594
movzx eax, byte [eax + 0x456745]
test al, al
jne 0x410df4
mov eax, 0x88888889
mov byte [0x4565a9], 0x1e
mov dword [0x4565e4], 0
mul edi
mov dword [0x4565ec], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov dword [0x4565e0], eax
sub edi, edx
mov word [0x4565ae], di
mov edi, dword [0x45675c]
mov dword [0x4565e8], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456755]
test al, al
je 0x412735
movzx ebp, al
mov byte [0x4565d1], al
xor edx, edx
mov eax, edi
mov edi, dword [0x45676c]
div ebp
mov dword [0x45660c], 0
mov dword [0x456610], edi
mov dword [0x456614], 0
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov word [0x4565d6], dx
mov dword [0x456608], eax
test ecx, ecx
js 0x410ebb
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456765]
test al, al
jne 0x4113ef
mov eax, 0x88888889
mov byte [0x4565f9], 0x1e
mov dword [0x456634], 0
mul edi
mov dword [0x45663c], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov dword [0x456630], eax
sub edi, edx
mov word [0x4565fe], di
mov edi, dword [0x45677c]
mov dword [0x456638], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456775]
test al, al
je 0x412753
movzx ebp, al
mov byte [0x456621], al
xor edx, edx
mov eax, edi
mov edi, dword [0x45678c]
div ebp
mov dword [0x45665c], 0
mov dword [0x456660], edi
mov dword [0x456664], 0
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov word [0x456626], dx
mov dword [0x456658], eax
test ecx, ecx
js 0x410fa7
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456785]
test al, al
jne 0x41139e
mov eax, 0x88888889
mov byte [0x456649], 0x1e
mov dword [0x456684], 0
mul edi
mov dword [0x45668c], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov dword [0x456680], eax
sub edi, edx
mov word [0x45664e], di
mov edi, dword [0x45679c]
mov dword [0x456688], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456795]
test al, al
je 0x412744
movzx ebp, al
mov byte [0x456671], al
xor edx, edx
mov eax, edi
mov edi, dword [0x4567ac]
div ebp
mov dword [0x4566ac], 0
mov dword [0x4566b0], edi
mov dword [0x4566b4], 0
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov word [0x456676], dx
mov dword [0x4566a8], eax
test ecx, ecx
js 0x411091
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x4567a5]
test al, al
jne 0x411440
mov eax, 0x88888889
mov byte [0x456699], 0x1e
mov dword [0x4566d4], 0
mul edi
mov dword [0x4566dc], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov dword [0x4566d0], eax
sub edi, edx
mov word [0x45669e], di
mov edi, dword [0x4567bc]
mov dword [0x4566d8], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x4567b5]
test al, al
je 0x412762
movzx ebp, al
mov byte [0x4566c1], al
xor edx, edx
mov eax, edi
mov edi, dword [0x4567cc]
div ebp
mov dword [0x4566fc], 0
mov dword [0x456700], edi
mov dword [0x456704], 0
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov word [0x4566c6], dx
mov dword [0x4566f8], eax
test ecx, ecx
js 0x41117b
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x4567c5]
test al, al
je 0x412bc9
movzx ebp, al
xor edx, edx
mov byte [0x4566e9], al
mov eax, edi
div ebp
mov dword [0x456724], 0
mov dword [0x45672c], 0
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov word [0x4566ee], dx
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
mov dword [0x456728], eax
test ecx, ecx
js 0x4111f4
lea edx, [ebx + esi]
shl edx, 5
movzx edx, byte [edx + 0x4567d5]
test dl, dl
je 0x410de5
movzx ecx, dl
mov byte [0x456711], dl
xor edx, edx
div ecx
mov word [0x456716], dx
mov dword [0x45671c], eax
jmp 0x40e271
add dword [esp + 0x34], 0x140
cmp dword [esp + 0x38], 4
je 0x40e7d2
mov dword [esp + 0x38], 4
jmp 0x40e283
mov ecx, dword [0x456a6c]
xor edx, edx
mov eax, dword [0x456a68]
movzx ebx, byte [0x4565a9]
add eax, dword [0x4565b8]
adc edx, dword [0x4565bc]
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
mov dword [0x4565b8], eax
mov eax, ecx
mov dword [0x4565bc], edx
xor edx, edx
add eax, dword [0x4565c0]
adc edx, dword [0x4565c4]
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], edx
mov dword [0x4565c0], eax
mov dword [0x4565c4], edx
test bl, bl
jne 0x40f9e8
mov eax, 0x88888889
mul ecx
mov eax, dword [0x4565b4]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x10], eax
movzx eax, word [0x4565ae]
sub ecx, edx
add eax, ecx
mov word [esp + 0x20], ax
mov word [0x4565ae], ax
mov eax, dword [esp + 0x10]
xor edx, edx
mov ecx, dword [0x456a7c]
movzx ebx, byte [0x4565d1]
mov dword [0x4565b4], eax
mov eax, dword [0x456a78]
add eax, dword [0x4565e0]
adc edx, dword [0x4565e4]
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
mov dword [0x4565e0], eax
mov eax, ecx
mov dword [0x4565e4], edx
xor edx, edx
add eax, dword [0x4565e8]
adc edx, dword [0x4565ec]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov dword [0x4565e8], eax
mov dword [0x4565ec], edx
test bl, bl
jne 0x40f9c0
mov eax, 0x88888889
mul ecx
mov eax, dword [0x4565dc]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x2c], eax
movzx eax, word [0x4565d6]
sub ecx, edx
add eax, ecx
mov word [esp + 0x30], ax
mov word [0x4565d6], ax
mov eax, dword [esp + 0x2c]
xor edx, edx
mov ecx, dword [0x456a8c]
movzx ebx, byte [0x4565f9]
mov dword [0x4565dc], eax
mov eax, dword [0x456a88]
add eax, dword [0x456608]
adc edx, dword [0x45660c]
mov dword [esp + 0xb8], eax
mov dword [esp + 0xbc], edx
mov dword [0x456608], eax
mov eax, ecx
mov dword [0x45660c], edx
xor edx, edx
add eax, dword [0x456610]
adc edx, dword [0x456614]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
mov dword [0x456610], eax
mov dword [0x456614], edx
test bl, bl
jne 0x40f998
mov eax, 0x88888889
mul ecx
mov eax, dword [0x456604]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x34], eax
movzx eax, word [0x4565fe]
sub ecx, edx
add eax, ecx
mov word [esp + 0x38], ax
mov word [0x4565fe], ax
mov eax, dword [esp + 0x34]
xor edx, edx
mov ecx, dword [0x456a9c]
movzx ebx, byte [0x456621]
mov dword [0x456604], eax
mov eax, dword [0x456a98]
add eax, dword [0x456630]
adc edx, dword [0x456634]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc4], edx
mov dword [0x456630], eax
mov eax, ecx
mov dword [0x456634], edx
xor edx, edx
add eax, dword [0x456638]
adc edx, dword [0x45663c]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov dword [0x456638], eax
mov dword [0x45663c], edx
test bl, bl
jne 0x40f970
mov eax, 0x88888889
mul ecx
mov eax, dword [0x45662c]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x3c], eax
movzx eax, word [0x456626]
sub ecx, edx
add eax, ecx
mov word [esp + 0x40], ax
mov word [0x456626], ax
mov eax, dword [esp + 0x3c]
xor edx, edx
mov ecx, dword [0x456aac]
movzx ebx, byte [0x456649]
mov dword [0x45662c], eax
mov eax, dword [0x456aa8]
add eax, dword [0x456658]
adc edx, dword [0x45665c]
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
mov dword [0x456658], eax
mov eax, ecx
mov dword [0x45665c], edx
xor edx, edx
add eax, dword [0x456660]
adc edx, dword [0x456664]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov dword [0x456660], eax
mov dword [0x456664], edx
test bl, bl
jne 0x40f948
mov eax, 0x88888889
mul ecx
mov eax, dword [0x456654]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x44], eax
movzx eax, word [0x45664e]
sub ecx, edx
add eax, ecx
mov word [esp + 0x48], ax
mov word [0x45664e], ax
mov eax, dword [esp + 0x44]
xor edx, edx
mov ecx, dword [0x456abc]
movzx ebx, byte [0x456671]
mov dword [0x456654], eax
mov eax, dword [0x456ab8]
add eax, dword [0x456680]
adc edx, dword [0x456684]
mov dword [esp + 0xd0], eax
mov dword [esp + 0xd4], edx
mov dword [0x456680], eax
mov eax, ecx
mov dword [0x456684], edx
xor edx, edx
add eax, dword [0x456688]
adc edx, dword [0x45668c]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [0x456688], eax
mov dword [0x45668c], edx
test bl, bl
jne 0x40f920
mov eax, 0x88888889
mul ecx
mov eax, dword [0x45667c]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
mov dword [esp + 0x4c], eax
movzx eax, word [0x456676]
sub ecx, edx
add eax, ecx
mov word [esp + 0x52], ax
mov word [0x456676], ax
mov eax, dword [esp + 0x4c]
xor edx, edx
mov ecx, dword [0x456acc]
movzx ebx, byte [0x456699]
mov dword [0x45667c], eax
mov eax, dword [0x456ac8]
add eax, dword [0x4566a8]
adc edx, dword [0x4566ac]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
mov dword [0x4566a8], eax
mov eax, ecx
mov dword [0x4566ac], edx
xor edx, edx
add eax, dword [0x4566b0]
adc edx, dword [0x4566b4]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], edx
mov dword [0x4566b0], eax
mov dword [0x4566b4], edx
test bl, bl
jne 0x40f8f8
mov eax, 0x88888889
mov ebp, dword [0x4566a4]
mul ecx
movzx eax, word [0x45669e]
shr edx, 4
add ebp, edx
imul edx, edx, 0x1e
sub ecx, edx
add eax, ecx
mov word [esp + 0x54], ax
mov ecx, dword [0x456adc]
xor edx, edx
mov word [0x45669e], ax
movzx ebx, byte [0x4566c1]
mov eax, dword [0x456ad8]
mov dword [0x4566a4], ebp
add eax, dword [0x4566d0]
adc edx, dword [0x4566d4]
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], edx
mov dword [0x4566d0], eax
mov eax, ecx
mov dword [0x4566d4], edx
xor edx, edx
add eax, dword [0x4566d8]
adc edx, dword [0x4566dc]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
mov dword [0x4566d8], eax
mov dword [0x4566dc], edx
test bl, bl
jne 0x40f8d0
mov eax, 0x88888889
mov edi, dword [0x4566cc]
mul ecx
movzx eax, word [0x4566c6]
shr edx, 4
add edi, edx
imul edx, edx, 0x1e
sub ecx, edx
add eax, ecx
mov word [esp + 0x56], ax
mov ecx, dword [0x456aec]
xor edx, edx
mov word [0x4566c6], ax
mov eax, dword [0x456ae8]
add eax, dword [0x4566f8]
mov dword [0x4566cc], edi
adc edx, dword [0x4566fc]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xec], edx
mov dword [0x4566f8], eax
mov eax, ecx
mov dword [0x4566fc], edx
xor edx, edx
add eax, dword [0x456700]
mov dword [esp + 0x98], eax
adc edx, dword [0x456704]
mov dword [0x456700], eax
movzx eax, byte [0x4566e9]
mov dword [esp + 0x9c], edx
mov dword [0x456704], edx
test al, al
jne 0x40f8b0
mov eax, 0x88888889
mov esi, dword [0x4566f4]
movzx ebx, word [0x4566ee]
mul ecx
shr edx, 4
add esi, edx
imul edx, edx, 0x1e
sub ecx, edx
add ebx, ecx
mov ecx, dword [0x456afc]
xor edx, edx
mov eax, dword [0x456af8]
mov word [0x4566ee], bx
add eax, dword [0x456720]
adc edx, dword [0x456724]
mov dword [0x4566f4], esi
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
mov dword [0x456720], eax
mov eax, ecx
mov dword [0x456724], edx
xor edx, edx
add eax, dword [0x456728]
adc edx, dword [0x45672c]
mov dword [esp + 0xf0], eax
mov dword [esp + 0xf4], edx
mov dword [0x45672c], edx
movzx edx, byte [0x456711]
mov dword [0x456728], eax
test dl, dl
je 0x40f888
mov eax, ecx
mov ecx, edx
xor edx, edx
div ecx
add eax, dword [0x45671c]
mov ecx, edx
add cx, word [0x456716]
mov dword [0x45671c], eax
mov edx, dword [esp + 0xac]
mov eax, dword [esp + 0xa8]
add eax, dword [esp + 0xb0]
mov word [0x456716], cx
adc edx, dword [esp + 0xb4]
add eax, dword [esp + 0xb8]
adc edx, dword [esp + 0xbc]
add eax, dword [esp + 0xc0]
adc edx, dword [esp + 0xc4]
add eax, dword [esp + 0xc8]
adc edx, dword [esp + 0xcc]
add eax, dword [esp + 0xd0]
adc edx, dword [esp + 0xd4]
add eax, dword [esp + 0xd8]
adc edx, dword [esp + 0xdc]
add eax, dword [esp + 0xe0]
adc edx, dword [esp + 0xe4]
add eax, dword [esp + 0xe8]
adc edx, dword [esp + 0xec]
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], edx
mov edx, dword [esp + 0x58]
add edx, dword [esp + 0x60]
adc ecx, dword [esp + 0x64]
mov eax, edx
mov edx, ecx
add eax, dword [esp + 0x68]
adc edx, dword [esp + 0x6c]
add eax, dword [esp + 0x70]
adc edx, dword [esp + 0x74]
add eax, dword [esp + 0x78]
adc edx, dword [esp + 0x7c]
add eax, dword [esp + 0x80]
adc edx, dword [esp + 0x84]
add eax, dword [esp + 0x88]
adc edx, dword [esp + 0x8c]
add eax, dword [esp + 0x90]
adc edx, dword [esp + 0x94]
mov ecx, edx
mov edx, eax
add edx, dword [esp + 0x98]
adc ecx, dword [esp + 0x9c]
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0xa4]
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x1c], ecx
mov dword [0x4563ec], edx
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x18]
mov dword [0x4563e8], eax
mov dword [0x4563f0], edx
mov eax, dword [esp + 0x10]
mov dword [0x4563f4], ecx
mov ecx, dword [esp + 0x2c]
add eax, ecx
mov ecx, dword [esp + 0x34]
add eax, ecx
mov ecx, dword [esp + 0x3c]
add eax, ecx
mov ecx, dword [esp + 0x44]
add eax, ecx
mov ecx, dword [esp + 0x4c]
add eax, ecx
movzx ecx, byte [0x4548b5]
add eax, ebp
add eax, edi
and ecx, 0xfffffff0
add eax, esi
mov dword [0x4563cc], eax
movzx eax, word [esp + 0x20]
add ax, word [esp + 0x30]
add ax, word [esp + 0x38]
add ax, word [esp + 0x40]
add ax, word [esp + 0x48]
add ax, word [esp + 0x52]
add ax, word [esp + 0x54]
add ax, word [esp + 0x56]
add eax, ebx
mov word [0x4563c8], ax
xor eax, eax
cmp cl, 0x10
je 0x410440
movzx ebx, word [0x4548b8]
mov dword [0x4563c0], eax
mov eax, 0x3e8
movzx edi, word [0x4548ac]
cmp bx, 0x65
cmovae ebx, eax
movzx eax, byte [0x4548b4]
mov word [esp + 0x2c], di
mov byte [esp + 0x20], al
cmp al, 1
jbe 0x40efb1
mov dword [0x458480], 1
mov byte [esp + 0x20], 1
mov esi, dword [0x454898]
mov eax, 0x64
mov dword [esp + 0x10], 0x495c1
mov dword [esp + 0x14], 0
mov dword [esp + 0x30], esi
mul esi
cmp cl, 0x10
jne 0x40efe7
mov dword [esp + 0x10], 0x48a93
mov dword [esp + 0x14], 0
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
call fcn.00428e40
mov esi, dword [0x45489c]
mov dword [esp + 8], edi
mov dword [esp + 0x34], eax
mov eax, 0x64
mul esi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
movzx edx, word [0x45492c]
mov dword [esp + 0x38], eax
xor eax, eax
or esi, dword [esp + 0x30]
setne al
mov dword [esp + 0x30], eax
movzx eax, word [esp + 0x2c]
add eax, edx
mov dword [esp + 0x2c], eax
movzx eax, byte [0x454935]
and eax, 0xfffffff0
cmp al, 0x10
je 0x41041c
movzx eax, word [0x454938]
mov edx, 0x3e8
cmp ax, 0x65
cmovae eax, edx
add eax, ebx
movzx ebx, byte [esp + 0x20]
mov byte [esp + 0x20], 1
mov word [esp + 0x3c], ax
movzx eax, byte [0x454934]
lea ebp, [ebx + 1]
cmp al, 1
ja 0x40f098
mov byte [esp + 0x20], 0
add ebx, eax
mov ebp, ebx
mov ebx, dword [0x454918]
mov esi, 0x64
mov eax, ebx
mul esi
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00428e40
mov edi, dword [esp + 0x34]
add edi, eax
mov eax, esi
mov dword [esp + 0x34], edi
mov edi, dword [0x45491c]
mul edi
or ebx, edi
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00428e40
mov esi, dword [esp + 0x38]
add esi, eax
mov eax, dword [esp + 0x30]
cmp ebx, 1
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x2c]
sbb eax, 0xffffffff
mov dword [esp + 0x30], eax
movzx eax, word [0x4549ac]
add esi, eax
movzx eax, byte [0x4549b5]
mov dword [esp + 0x2c], esi
and eax, 0xfffffff0
cmp al, 0x10
je 0x4103c5
movzx eax, word [0x4549b8]
mov edx, 0x3e8
cmp ax, 0x65
cmovae eax, edx
add ax, word [esp + 0x3c]
mov word [esp + 0x3c], ax
movzx eax, byte [0x4549b4]
cmp al, 1
jbe 0x4103ba
lea eax, [ebp + 1]
mov byte [esp + 0x20], 1
mov byte [esp + 0x44], al
mov ebx, dword [0x454998]
mov esi, 0x64
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, ebx
mov dword [esp + 8], edi
mul esi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov ebp, dword [esp + 0x34]
mov edi, dword [0x45499c]
add ebp, eax
mov eax, esi
mov dword [esp + 0x40], edi
mul edi
mov dword [esp + 0x34], ebp
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov esi, dword [esp + 0x38]
add esi, eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0x38], esi
mov esi, dword [esp + 0x2c]
or ebx, eax
mov eax, dword [esp + 0x30]
cmp ebx, 1
sbb eax, 0xffffffff
mov dword [esp + 0x30], eax
movzx eax, word [0x454a2c]
add esi, eax
movzx eax, byte [0x454a35]
mov dword [esp + 0x2c], esi
and eax, 0xfffffff0
cmp al, 0x10
je 0x4103ff
movzx eax, word [0x454a38]
mov edx, 0x3e8
cmp ax, 0x65
cmovae eax, edx
add ax, word [esp + 0x3c]
mov word [esp + 0x3c], ax
movzx eax, byte [0x454a34]
cmp al, 1
jbe 0x4103ad
movzx eax, byte [esp + 0x44]
mov byte [esp + 0x20], 1
add eax, 1
mov byte [esp + 0x40], al
mov ebx, dword [0x454a18]
mov esi, 0x64
mov edi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov eax, ebx
mov dword [esp + 8], edi
mul esi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov edx, dword [esp + 0x34]
mov ecx, dword [0x454a1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, eax
mov eax, esi
mov esi, ecx
mov dword [esp + 0x34], edx
mul ecx
or ebx, esi
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov edi, dword [esp + 0x38]
mov esi, dword [esp + 0x2c]
add edi, eax
mov eax, dword [esp + 0x30]
cmp ebx, 1
mov dword [esp + 0x38], edi
sbb eax, 0xffffffff
mov dword [esp + 0x30], eax
movzx eax, word [0x454aac]
add esi, eax
movzx eax, byte [0x454ab5]
mov dword [esp + 0x2c], esi
and eax, 0xfffffff0
cmp al, 0x10
je 0x4103e2
movzx eax, word [0x454ab8]
mov edx, 0x3e8
movzx ebp, byte [esp + 0x40]
cmp ax, 0x65
cmovae eax, edx
add ax, word [esp + 0x3c]
mov word [esp + 0x3c], ax
movzx eax, byte [0x454ab4]
cmp al, 1
jbe 0x4103a6
mov byte [esp + 0x20], 1
add ebp, 1
mov ebx, dword [0x454a98]
mov esi, 0x64
mov eax, ebx
mul esi
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00428e40
mov edi, dword [esp + 0x34]
add edi, eax
mov eax, esi
mov dword [esp + 0x40], edi
mov edi, dword [0x454a9c]
mul edi
or ebx, edi
mov dword [esp], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.00428e40
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x2c]
add esi, eax
mov eax, dword [esp + 0x30]
cmp ebx, 1
mov dword [esp + 0x44], esi
sbb eax, 0xffffffff
mov dword [esp + 0x48], eax
movzx eax, word [0x454b2c]
add edi, eax
movzx eax, byte [0x454b35]
mov dword [esp + 0x38], edi
and eax, 0xfffffff0
cmp al, 0x10
je 0x41044f
movzx ebx, word [0x454b38]
mov eax, 0x3e8
cmp bx, 0x65
cmovae ebx, eax
movzx eax, byte [0x454b34]
add bx, word [esp + 0x3c]
mov word [esp + 0x34], bx
lea edx, [eax + ebp]
mov byte [esp + 0x30], dl
cmp al, 1
jbe 0x40f3e3
lea eax, [ebp + 1]
mov byte [esp + 0x20], 1
mov byte [esp + 0x30], al
mov esi, dword [0x454b18]
mov edi, 0x64
mov ecx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov eax, esi
mov dword [esp + 8], ecx
mul edi
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov ebx, dword [esp + 0x40]
mov ebp, dword [0x454b1c]
mov ecx, dword [esp + 0x10]
add ebx, eax
mov eax, edi
or esi, ebp
mul ebp
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x14]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428e40
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x2c]
add ecx, eax
movzx eax, byte [esp + 0x30]
cmp esi, 1
mov esi, dword [esp + 0x48]
mov dword [0x4563d8], ebx
mov byte [0x4563c4], al
movzx eax, word [esp + 0x34]
sbb esi, 0xffffffff
cmp byte [esp + 0x20], 0
mov dword [0x4563dc], ecx
mov word [0x4563ca], ax
mov eax, dword [esp + 0x38]
mov dword [0x4563d0], eax
je 0x40f48f
mov dword [0x458480], 1
cmp esi, 1
jle 0x40f4c0
movzx eax, word [esp + 0x34]
cdq
idiv esi
xor edx, edx
mov word [0x4563ca], ax
mov eax, dword [esp + 0x2c]
div esi
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [0x4563d8], eax
mov eax, ecx
div esi
mov dword [0x4563dc], eax
mov ecx, eax
mov eax, dword [esp + 0x2c]
mov esi, 0x454898
mov dword [esp + 0x20], 0
mov edx, 0x456b00
mov dword [esp + 0x24], 0
lea ebx, [eax + ecx]
mov dword [esp + 0x10], esi
imul eax, dword [0x456348], 0xf0
mov dword [0x4563d4], ebx
mov dword [esp + 0x34], ebx
lea ebp, [eax + 0x456b00]
mov eax, 0x457384
lea esi, [esi]
mov edi, dword [esp + 0x10]
mov ecx, dword [edi + 4]
add ecx, dword [edi]
cmp ecx, 0x176f
jbe 0x40fa0b
mov esi, dword [ebp]
mov ecx, dword [ebp + 4]
xor edi, edi
xor ebx, ebx
add ecx, esi
mov esi, dword [ebp + 8]
adc ebx, edi
add ecx, dword [esp + 0x20]
adc ebx, dword [esp + 0x24]
xor edi, edi
add ecx, esi
mov esi, dword [ebp + 0xc]
adc ebx, edi
xor edi, edi
add esi, ecx
mov ecx, dword [ebp + 0x10]
adc edi, ebx
xor ebx, ebx
add ecx, esi
mov esi, dword [ebp + 0x14]
adc ebx, edi
xor edi, edi
add esi, ecx
mov ecx, dword [ebp + 0x18]
adc edi, ebx
xor ebx, ebx
add ecx, esi
mov esi, dword [ebp + 0x1c]
adc ebx, edi
xor edi, edi
add esi, ecx
mov ecx, dword [ebp + 0x20]
adc edi, ebx
xor ebx, ebx
add ecx, esi
mov esi, dword [ebp + 0x24]
adc ebx, edi
xor edi, edi
add ecx, esi
mov esi, 0x457564
adc ebx, edi
add eax, 0x50
sub dword [esp + 0x10], 0xffffff80
add ebp, 0x28
mov dword [esp + 0x20], ecx
add edx, 0x28
mov dword [esp + 0x24], ebx
cmp esi, eax
jne 0x40f508
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov dword [0x4563f8], eax
mov ebx, dword [esp + 0x34]
cmp eax, edi
mov eax, edx
mov dword [0x4563fc], edx
sbb eax, ebp
jb 0x40fe89
mov dword [0x4563e4], 0
mov eax, ebp
mov dword [0x4563e0], 0
or eax, edi
jne 0x40fea5
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
xor eax, eax
mov esi, ebp
or esi, edi
je 0x40f619
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov word [0x4565ac], ax
xor eax, eax
mov byte [0x4565aa], 0
mov esi, ebp
or esi, edi
je 0x40f658
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov word [0x4565d4], ax
xor eax, eax
mov byte [0x4565d2], 0
mov esi, ebp
or esi, edi
je 0x40f697
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov word [0x4565fc], ax
xor eax, eax
mov byte [0x4565fa], 0
mov esi, ebp
or esi, edi
je 0x40f6d6
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov word [0x456624], ax
xor eax, eax
mov byte [0x456622], 0
mov esi, ebp
or esi, edi
je 0x40f715
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov word [0x45664c], ax
xor eax, eax
mov byte [0x45664a], 0
mov esi, ebp
or esi, edi
je 0x40f75a
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov word [0x456674], ax
xor eax, eax
mov byte [0x456672], 0
mov esi, ebp
or esi, edi
je 0x40f79f
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
mov word [0x45669c], ax
xor eax, eax
mov byte [0x45669a], 0
mov esi, ebp
or esi, edi
je 0x40f7e4
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x98]
mov word [0x4566c4], ax
xor eax, eax
mov byte [0x4566c2], 0
mov esi, ebp
or esi, edi
je 0x40f829
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov word [0x4566ec], ax
xor eax, eax
mov byte [0x4566ea], 0
mov esi, ebp
or esi, edi
je 0x40f86e
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov word [0x456714], ax
mov byte [0x456712], 0
xor eax, eax
jmp 0x41034f
mov eax, 0x88888889
mul ecx
mov eax, dword [0x45671c]
shr edx, 4
add eax, edx
imul edx, edx, 0x1e
sub ecx, edx
add cx, word [0x456716]
jmp 0x40edc8
movzx esi, al
xor edx, edx
mov eax, ecx
movzx ebx, word [0x4566ee]
div esi
add eax, dword [0x4566f4]
mov esi, eax
add ebx, edx
jmp 0x40ed3a
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x4566cc]
mov edi, eax
movzx eax, word [0x4566c6]
add eax, edx
mov word [esp + 0x56], ax
jmp 0x40eca4
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x4566a4]
mov ebp, eax
movzx eax, word [0x45669e]
add eax, edx
mov word [esp + 0x54], ax
jmp 0x40ec09
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x45667c]
mov dword [esp + 0x4c], eax
movzx eax, word [0x456676]
add eax, edx
mov word [esp + 0x52], ax
jmp 0x40eb6b
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x456654]
mov dword [esp + 0x44], eax
movzx eax, word [0x45664e]
add eax, edx
mov word [esp + 0x48], ax
jmp 0x40eaca
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x45662c]
mov dword [esp + 0x3c], eax
movzx eax, word [0x456626]
add eax, edx
mov word [esp + 0x40], ax
jmp 0x40ea2f
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x456604]
mov dword [esp + 0x34], eax
movzx eax, word [0x4565fe]
add eax, edx
mov word [esp + 0x38], ax
jmp 0x40e994
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x4565dc]
mov dword [esp + 0x2c], eax
movzx eax, word [0x4565d6]
add eax, edx
mov word [esp + 0x30], ax
jmp 0x40e8f9
mov eax, ecx
xor edx, edx
div ebx
add eax, dword [0x4565b4]
mov dword [esp + 0x10], eax
movzx eax, word [0x4565ae]
add eax, edx
mov word [esp + 0x20], ax
jmp 0x40e85e
mov ecx, dword [eax]
xor ebx, ebx
xor edi, edi
mov dword [edx], ecx
mov ecx, dword [eax + 0x1e0]
mov dword [edx + 0xf0], ecx
mov ecx, dword [eax + 0x3c0]
mov dword [edx + 0x1e0], ecx
mov ecx, dword [eax + 0x5a0]
mov dword [edx + 0x2d0], ecx
mov ecx, dword [eax + 0x780]
mov dword [edx + 0x3c0], ecx
mov ecx, dword [eax + 0x960]
mov dword [edx + 0x4b0], ecx
mov ecx, dword [eax + 0xb40]
mov dword [edx + 0x5a0], ecx
mov ecx, dword [eax + 0xd20]
mov dword [edx + 0x690], ecx
mov ecx, dword [eax + 0xf00]
mov dword [edx + 0x780], ecx
mov ecx, dword [eax + 8]
mov esi, dword [ebp]
mov dword [edx + 4], ecx
mov ecx, dword [eax + 0x1e8]
mov dword [edx + 0xf4], ecx
mov ecx, dword [eax + 0x3c8]
mov dword [edx + 0x1e4], ecx
mov ecx, dword [eax + 0x5a8]
mov dword [edx + 0x2d4], ecx
mov ecx, dword [eax + 0x788]
mov dword [edx + 0x3c4], ecx
mov ecx, dword [eax + 0x968]
mov dword [edx + 0x4b4], ecx
mov ecx, dword [eax + 0xb48]
mov dword [edx + 0x5a4], ecx
mov ecx, dword [eax + 0xd28]
mov dword [edx + 0x694], ecx
mov ecx, dword [eax + 0xf08]
mov dword [edx + 0x784], ecx
mov ecx, dword [ebp + 4]
add esi, ecx
mov ecx, dword [eax + 0x10]
adc edi, ebx
add esi, dword [esp + 0x20]
adc edi, dword [esp + 0x24]
xor ebx, ebx
mov dword [edx + 8], ecx
mov ecx, dword [eax + 0x1f0]
mov dword [edx + 0xf8], ecx
mov ecx, dword [eax + 0x3d0]
mov dword [edx + 0x1e8], ecx
mov ecx, dword [eax + 0x5b0]
mov dword [edx + 0x2d8], ecx
mov ecx, dword [eax + 0x790]
mov dword [edx + 0x3c8], ecx
mov ecx, dword [eax + 0x970]
mov dword [edx + 0x4b8], ecx
mov ecx, dword [eax + 0xb50]
mov dword [edx + 0x5a8], ecx
mov ecx, dword [eax + 0xd30]
mov dword [edx + 0x698], ecx
mov ecx, dword [eax + 0xf10]
mov dword [edx + 0x788], ecx
mov ecx, dword [ebp + 8]
add esi, ecx
mov ecx, dword [eax + 0x18]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0xc], ecx
mov ecx, dword [eax + 0x1f8]
mov dword [edx + 0xfc], ecx
mov ecx, dword [eax + 0x3d8]
mov dword [edx + 0x1ec], ecx
mov ecx, dword [eax + 0x5b8]
mov dword [edx + 0x2dc], ecx
mov ecx, dword [eax + 0x798]
mov dword [edx + 0x3cc], ecx
mov ecx, dword [eax + 0x978]
mov dword [edx + 0x4bc], ecx
mov ecx, dword [eax + 0xb58]
mov dword [edx + 0x5ac], ecx
mov ecx, dword [eax + 0xd38]
mov dword [edx + 0x69c], ecx
mov ecx, dword [eax + 0xf18]
mov dword [edx + 0x78c], ecx
mov ecx, dword [ebp + 0xc]
add esi, ecx
mov ecx, dword [eax + 0x20]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x10], ecx
mov ecx, dword [eax + 0x200]
mov dword [edx + 0x100], ecx
mov ecx, dword [eax + 0x3e0]
mov dword [edx + 0x1f0], ecx
mov ecx, dword [eax + 0x5c0]
mov dword [edx + 0x2e0], ecx
mov ecx, dword [eax + 0x7a0]
mov dword [edx + 0x3d0], ecx
mov ecx, dword [eax + 0x980]
mov dword [edx + 0x4c0], ecx
mov ecx, dword [eax + 0xb60]
mov dword [edx + 0x5b0], ecx
mov ecx, dword [eax + 0xd40]
mov dword [edx + 0x6a0], ecx
mov ecx, dword [eax + 0xf20]
mov dword [edx + 0x790], ecx
mov ecx, dword [ebp + 0x10]
add esi, ecx
mov ecx, dword [eax + 0x28]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x14], ecx
mov ecx, dword [eax + 0x208]
mov dword [edx + 0x104], ecx
mov ecx, dword [eax + 0x3e8]
mov dword [edx + 0x1f4], ecx
mov ecx, dword [eax + 0x5c8]
mov dword [edx + 0x2e4], ecx
mov ecx, dword [eax + 0x7a8]
mov dword [edx + 0x3d4], ecx
mov ecx, dword [eax + 0x988]
mov dword [edx + 0x4c4], ecx
mov ecx, dword [eax + 0xb68]
mov dword [edx + 0x5b4], ecx
mov ecx, dword [eax + 0xd48]
mov dword [edx + 0x6a4], ecx
mov ecx, dword [eax + 0xf28]
mov dword [edx + 0x794], ecx
mov ecx, dword [ebp + 0x14]
add esi, ecx
mov ecx, dword [eax + 0x30]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x18], ecx
mov ecx, dword [eax + 0x210]
mov dword [edx + 0x108], ecx
mov ecx, dword [eax + 0x3f0]
mov dword [edx + 0x1f8], ecx
mov ecx, dword [eax + 0x5d0]
mov dword [edx + 0x2e8], ecx
mov ecx, dword [eax + 0x7b0]
mov dword [edx + 0x3d8], ecx
mov ecx, dword [eax + 0x990]
mov dword [edx + 0x4c8], ecx
mov ecx, dword [eax + 0xb70]
mov dword [edx + 0x5b8], ecx
mov ecx, dword [eax + 0xd50]
mov dword [edx + 0x6a8], ecx
mov ecx, dword [eax + 0xf30]
mov dword [edx + 0x798], ecx
mov ecx, dword [ebp + 0x18]
add esi, ecx
mov ecx, dword [eax + 0x38]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x1c], ecx
mov ecx, dword [eax + 0x218]
mov dword [edx + 0x10c], ecx
mov ecx, dword [eax + 0x3f8]
mov dword [edx + 0x1fc], ecx
mov ecx, dword [eax + 0x5d8]
mov dword [edx + 0x2ec], ecx
mov ecx, dword [eax + 0x7b8]
mov dword [edx + 0x3dc], ecx
mov ecx, dword [eax + 0x998]
mov dword [edx + 0x4cc], ecx
mov ecx, dword [eax + 0xb78]
mov dword [edx + 0x5bc], ecx
mov ecx, dword [eax + 0xd58]
mov dword [edx + 0x6ac], ecx
mov ecx, dword [eax + 0xf38]
mov dword [edx + 0x79c], ecx
mov ecx, dword [ebp + 0x1c]
add esi, ecx
mov ecx, dword [eax + 0x40]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x20], ecx
mov ecx, dword [eax + 0x220]
mov dword [edx + 0x110], ecx
mov ecx, dword [eax + 0x400]
mov dword [edx + 0x200], ecx
mov ecx, dword [eax + 0x5e0]
mov dword [edx + 0x2f0], ecx
mov ecx, dword [eax + 0x7c0]
mov dword [edx + 0x3e0], ecx
mov ecx, dword [eax + 0x9a0]
mov dword [edx + 0x4d0], ecx
mov ecx, dword [eax + 0xb80]
mov dword [edx + 0x5c0], ecx
mov ecx, dword [eax + 0xd60]
mov dword [edx + 0x6b0], ecx
mov ecx, dword [eax + 0xf40]
mov dword [edx + 0x7a0], ecx
mov ecx, dword [ebp + 0x20]
add esi, ecx
mov ecx, dword [eax + 0x48]
adc edi, ebx
xor ebx, ebx
mov dword [edx + 0x24], ecx
mov ecx, dword [eax + 0x228]
mov dword [edx + 0x114], ecx
mov ecx, dword [eax + 0x408]
mov dword [edx + 0x204], ecx
mov ecx, dword [eax + 0x5e8]
mov dword [edx + 0x2f4], ecx
mov ecx, dword [eax + 0x7c8]
mov dword [edx + 0x3e4], ecx
mov ecx, dword [eax + 0x9a8]
mov dword [edx + 0x4d4], ecx
mov ecx, dword [eax + 0xb88]
mov dword [edx + 0x5c4], ecx
mov ecx, dword [eax + 0xd68]
mov dword [edx + 0x6b4], ecx
mov ecx, dword [eax + 0xf48]
mov dword [edx + 0x7a4], ecx
mov ecx, dword [ebp + 0x24]
add ecx, esi
adc ebx, edi
add eax, 0x50
mov dword [esp + 0x20], ecx
add ebp, 0x28
mov dword [esp + 0x24], ebx
add edx, 0x28
sub dword [esp + 0x10], 0xffffff80
cmp eax, 0x457564
jne 0x40f508
jmp 0x40f59e
test ebx, ebx
jne 0x41046c
mov dword [0x4563e0], 0
mov dword [0x4563e4], 0
mov ebp, dword [esp + 0x5c]
mov edi, dword [esp + 0x58]
xor eax, eax
mov esi, ebp
or esi, edi
je 0x40fed7
mov eax, dword [esp + 0xa8]
mov edx, dword [esp + 0xac]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x58]
mov ebp, dword [esp + 0x5c]
mov word [0x4565ac], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x64]
mov edi, dword [esp + 0x60]
mov byte [0x4565aa], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x40ff44
mov eax, dword [esp + 0xb0]
mov edx, dword [esp + 0xb4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x60]
mov ebp, dword [esp + 0x64]
mov word [0x4565d4], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x6c]
mov edi, dword [esp + 0x68]
mov byte [0x4565d2], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x40ffb1
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x68]
mov ebp, dword [esp + 0x6c]
mov word [0x4565fc], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x74]
mov edi, dword [esp + 0x70]
mov byte [0x4565fa], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x41001e
mov eax, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x70]
mov ebp, dword [esp + 0x74]
mov word [0x456624], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x7c]
mov edi, dword [esp + 0x78]
mov byte [0x456622], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x41008b
mov eax, dword [esp + 0xc8]
mov edx, dword [esp + 0xcc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x78]
mov ebp, dword [esp + 0x7c]
mov word [0x45664c], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov byte [0x45664a], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x4100fe
mov eax, dword [esp + 0xd0]
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x80]
mov ebp, dword [esp + 0x84]
mov word [0x456674], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x88]
mov byte [0x456672], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x410177
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xdc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
mov word [0x45669c], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x94]
mov edi, dword [esp + 0x90]
mov byte [0x45669a], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x4101f0
mov eax, dword [esp + 0xe0]
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x90]
mov ebp, dword [esp + 0x94]
mov word [0x4566c4], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0x9c]
mov edi, dword [esp + 0x98]
mov byte [0x4566c2], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x410269
mov eax, dword [esp + 0xe8]
mov edx, dword [esp + 0xec]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x98]
mov ebp, dword [esp + 0x9c]
mov word [0x4566ec], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov ebp, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov byte [0x4566ea], al
xor eax, eax
mov esi, ebp
or esi, edi
je 0x4102e2
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xfc]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov word [0x456714], ax
mov eax, 0x64
mul edi
mov edi, dword [esp + 0x18]
imul ecx, ebp, 0x64
mov ebp, dword [esp + 0x1c]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
add edx, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov byte [0x456712], al
mov eax, ebp
or eax, edi
je 0x40f87b
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0xa4]
mov dword [esp + 8], edi
mov dword [esp + 0xc], ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov edx, dword [0x45900c]
mov word [0x4563c6], ax
test edx, edx
jle 0x410368
movzx eax, byte [esp + 0x30]
cmp edx, eax
jle 0x41039b
mov dword [0x458db8], 0xffffffff
mov eax, dword [esp + 0x38]
mov dword [0x458dbc], 0xffffffff
mov dword [0x458dc0], 0xffffffff
not eax
mov dword [0x456390], eax
mov dword [0x458dc4], 0xffffffff
add esp, 0x10c
pop ebx
pop esi
pop edi
pop ebp
ret
add ebp, eax
jmp 0x40f310
add al, byte [esp + 0x44]
mov byte [esp + 0x40], al
jmp 0x40f245
add eax, ebp
mov byte [esp + 0x44], al
jmp 0x40f168
cmp word [0x4549b2], 0
jns 0x40f130
mov dword [0x4563c0], 1
jmp 0x40f130
cmp word [0x454ab2], 0
jns 0x40f2d7
mov dword [0x4563c0], 1
jmp 0x40f2d7
cmp word [0x454a32], 0
jns 0x40f208
mov dword [0x4563c0], 1
jmp 0x40f208
cmp word [0x454932], 0
jns 0x40f05d
mov dword [0x4563c0], 1
jmp 0x40f05d
movsx eax, word [0x4548b2]
shr eax, 0x1f
jmp 0x40ef6f
cmp word [0x454b32], 0
jns 0x40f3a8
mov dword [0x4563c0], 1
jmp 0x40f3a8
mov eax, edi
sub eax, dword [esp + 0x20]
mov edx, ebp
mov esi, 0xe10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
sbb edx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov dword [esp + 0x14], edx
mul esi
imul ebp, dword [esp + 0x14], 0xe10
mov dword [esp + 0xc], 0
mov dword [esp], eax
add edx, ebp
mov dword [esp + 4], edx
call fcn.00428f80
mov edi, dword [esp + 0x2c]
mov dword [0x4563e0], eax
test edi, edi
je 0x4104de
mov eax, dword [esp + 0x10]
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
mul esi
add edx, ebp
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00428f80
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x2c]
mov dword [0x4563e4], eax
jmp 0x40fea5
test edx, edx
js 0x411da7
mov eax, dword [0x456748]
mov edi, dword [0x45674c]
mov dword [0x4565bc], 0
lea ebx, [esi*4]
mov dword [0x4565c4], 0
mov dword [0x4565b8], eax
mov dword [0x4565c0], edi
test ecx, ecx
js 0x412573
lea eax, [ebx + esi]
movzx edx, byte [0x4565a9]
shl eax, 5
movzx eax, byte [eax + 0x456744]
mov byte [0x4565a8], al
test dl, dl
jne 0x41138e
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565ae], di
mov edi, dword [0x45675c]
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov dword [0x4565e4], 0
mov dword [0x4565e0], eax
mov dword [0x4565e8], edi
mov dword [0x4565ec], 0
test ecx, ecx
js 0x412608
lea eax, [ebx + esi]
movzx edx, byte [0x4565d1]
shl eax, 5
movzx eax, byte [eax + 0x456754]
mov byte [0x4565d0], al
test dl, dl
jne 0x41193d
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565d6], di
mov edi, dword [0x45676c]
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov dword [0x45660c], 0
mov dword [0x456608], eax
mov dword [0x456610], edi
mov dword [0x456614], 0
test ecx, ecx
js 0x412552
lea eax, [ebx + esi]
movzx edx, byte [0x4565f9]
shl eax, 5
movzx eax, byte [eax + 0x456764]
mov byte [0x4565f8], al
test dl, dl
jne 0x41192d
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565fe], di
mov edi, dword [0x45677c]
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov dword [0x456634], 0
mov dword [0x456630], eax
mov dword [0x456638], edi
mov dword [0x45663c], 0
test ecx, ecx
js 0x412531
lea eax, [ebx + esi]
movzx edx, byte [0x456621]
shl eax, 5
movzx eax, byte [eax + 0x456774]
mov byte [0x456620], al
test dl, dl
jne 0x41191d
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x456626], di
mov edi, dword [0x45678c]
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov dword [0x45665c], 0
mov dword [0x456658], eax
mov dword [0x456660], edi
mov dword [0x456664], 0
test ecx, ecx
js 0x41268c
lea eax, [ebx + esi]
movzx edx, byte [0x456649]
shl eax, 5
movzx eax, byte [eax + 0x456784]
mov byte [0x456648], al
test dl, dl
jne 0x41190d
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x45664e], di
mov edi, dword [0x45679c]
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov dword [0x456684], 0
mov dword [0x456680], eax
mov dword [0x456688], edi
mov dword [0x45668c], 0
test ecx, ecx
js 0x41266b
lea eax, [ebx + esi]
movzx edx, byte [0x456671]
shl eax, 5
movzx eax, byte [eax + 0x456794]
mov byte [0x456670], al
test dl, dl
jne 0x4118fd
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x456676], di
mov edi, dword [0x4567ac]
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov dword [0x4566ac], 0
mov dword [0x4566a8], eax
mov dword [0x4566b0], edi
mov dword [0x4566b4], 0
test ecx, ecx
js 0x41264a
lea eax, [ebx + esi]
movzx edx, byte [0x456699]
shl eax, 5
movzx eax, byte [eax + 0x4567a4]
mov byte [0x456698], al
test dl, dl
jne 0x4118ed
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x45669e], di
mov edi, dword [0x4567bc]
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov dword [0x4566d4], 0
mov dword [0x4566d0], eax
mov dword [0x4566d8], edi
mov dword [0x4566dc], 0
test ecx, ecx
js 0x412629
lea eax, [ebx + esi]
movzx edx, byte [0x4566c1]
shl eax, 5
movzx eax, byte [eax + 0x4567b4]
mov byte [0x4566c0], al
test dl, dl
jne 0x4118dd
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4566c6], di
mov edi, dword [0x4567cc]
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov dword [0x4566fc], 0
mov dword [0x4566f8], eax
mov dword [0x456700], edi
mov dword [0x456704], 0
test ecx, ecx
js 0x411fa3
lea eax, [ebx + esi]
movzx edx, byte [0x4566e9]
shl eax, 5
movzx eax, byte [eax + 0x4567c4]
mov byte [0x4566e8], al
test dl, dl
jne 0x4118cd
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4566ee], di
mov edi, dword [0x4567dc]
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456724], 0
mov dword [0x456720], eax
mov dword [0x456728], edi
mov dword [0x45672c], 0
test ecx, ecx
js 0x411f82
lea eax, [ebx + esi]
movzx edx, byte [0x456711]
shl eax, 5
movzx eax, byte [eax + 0x4567d4]
mov byte [0x456710], al
test dl, dl
jne 0x4118bd
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x456716], di
mov dword [0x45671c], eax
jmp 0x40e271
mov ebp, dword [0x45674c]
lea ebx, [esi*4]
mov dword [0x4565c4], 0
mov dword [0x4565c0], ebp
test edx, edx
js 0x412054
test ecx, ecx
js 0x41136c
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456744]
add edx, 0x456740
movzx edx, byte [edx + 5]
mov byte [0x4565a8], al
movzx edi, dl
test dl, dl
jne 0x4109ba
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565a9], dl
xor edx, edx
mov ebp, dword [0x45675c]
div edi
mov dword [0x4565e4], 0
mov dword [0x4565e8], ebp
mov dword [0x4565ec], 0
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov word [0x4565ae], dx
mov dword [0x4565e0], eax
test ecx, ecx
js 0x412713
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456754]
add edx, 0x456740
movzx edx, byte [edx + 0x15]
mov byte [0x4565d0], al
movzx edi, dl
test dl, dl
jne 0x410a31
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565d1], dl
xor edx, edx
mov ebp, dword [0x45676c]
div edi
mov dword [0x45660c], 0
mov dword [0x456610], ebp
mov dword [0x456614], 0
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov word [0x4565d6], dx
mov dword [0x456608], eax
test ecx, ecx
js 0x4126f1
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456764]
add edx, 0x456740
movzx edx, byte [edx + 0x25]
mov byte [0x4565f8], al
movzx edi, dl
test dl, dl
jne 0x410aa8
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565f9], dl
xor edx, edx
mov ebp, dword [0x45677c]
div edi
mov dword [0x456634], 0
mov dword [0x456638], ebp
mov dword [0x45663c], 0
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov word [0x4565fe], dx
mov dword [0x456630], eax
test ecx, ecx
js 0x4126cf
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456774]
add edx, 0x456740
movzx edx, byte [edx + 0x35]
mov byte [0x456620], al
movzx edi, dl
test dl, dl
jne 0x410b1f
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456621], dl
xor edx, edx
mov ebp, dword [0x45678c]
div edi
mov dword [0x45665c], 0
mov dword [0x456660], ebp
mov dword [0x456664], 0
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov word [0x456626], dx
mov dword [0x456658], eax
test ecx, ecx
js 0x4126ad
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456784]
add edx, 0x456740
movzx edx, byte [edx + 0x45]
mov byte [0x456648], al
movzx edi, dl
test dl, dl
jne 0x410b96
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456649], dl
xor edx, edx
mov ebp, dword [0x45679c]
div edi
mov dword [0x456684], 0
mov dword [0x456688], ebp
mov dword [0x45668c], 0
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov word [0x45664e], dx
mov dword [0x456680], eax
test ecx, ecx
js 0x4127d7
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x456794]
add edx, 0x456740
movzx edx, byte [edx + 0x55]
mov byte [0x456670], al
movzx edi, dl
test dl, dl
jne 0x410c0d
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456671], dl
xor edx, edx
mov ebp, dword [0x4567ac]
div edi
mov dword [0x4566ac], 0
mov dword [0x4566b0], ebp
mov dword [0x4566b4], 0
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov word [0x456676], dx
mov dword [0x4566a8], eax
test ecx, ecx
js 0x4127b5
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x4567a4]
add edx, 0x456740
movzx edx, byte [edx + 0x65]
mov byte [0x456698], al
movzx edi, dl
test dl, dl
jne 0x410c84
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456699], dl
xor edx, edx
mov ebp, dword [0x4567bc]
div edi
mov dword [0x4566d4], 0
mov dword [0x4566d8], ebp
mov dword [0x4566dc], 0
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov word [0x45669e], dx
mov dword [0x4566d0], eax
test ecx, ecx
js 0x412793
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x4567b4]
add edx, 0x456740
movzx edx, byte [edx + 0x75]
mov byte [0x4566c0], al
movzx edi, dl
test dl, dl
jne 0x410cfb
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4566c1], dl
xor edx, edx
mov ebp, dword [0x4567cc]
div edi
mov dword [0x4566fc], 0
mov dword [0x456700], ebp
mov dword [0x456704], 0
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov word [0x4566c6], dx
mov dword [0x4566f8], eax
test ecx, ecx
js 0x412771
lea edx, [ebx + esi]
shl edx, 5
movzx eax, byte [edx + 0x4567c4]
add edx, 0x456740
movzx edx, byte [edx + 0x85]
mov byte [0x4566e8], al
movzx edi, dl
test dl, dl
jne 0x410d75
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4566e9], dl
mov eax, ebp
xor edx, edx
div edi
mov dword [0x456724], 0
mov dword [0x45672c], 0
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov word [0x4566ee], dx
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
mov dword [0x456728], eax
test ecx, ecx
js 0x41250f
lea edx, [ebx + esi]
shl edx, 5
movzx ecx, byte [edx + 0x4567d4]
add edx, 0x456740
movzx edx, byte [edx + 0x95]
mov byte [0x456710], cl
test dl, dl
jne 0x40e798
mov ecx, 0x1e
mov edx, 0x1e
jmp 0x40e79b
movzx ebp, al
xor edx, edx
mov byte [0x4565a9], al
mov eax, edi
div ebp
mov edi, dword [0x45675c]
mov dword [0x4565e4], 0
mov dword [0x4565ec], 0
mov dword [0x4565e8], edi
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov word [0x4565ae], dx
mov dword [0x4565e0], eax
test ecx, ecx
jns 0x40e477
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456756]
test ax, ax
je 0x410e58
mov word [0x4565d8], ax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456755]
test al, al
jne 0x40e48c
mov eax, 0x88888889
mov byte [0x4565d1], 0x1e
mov dword [0x45660c], 0
mul edi
mov dword [0x456614], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov dword [0x456608], eax
sub edi, edx
mov word [0x4565d6], di
mov edi, dword [0x45676c]
mov dword [0x456610], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456766]
test ax, ax
je 0x410ed3
mov word [0x456600], ax
imul eax, esi, 0xa0
movzx eax, byte [eax + 0x456765]
test al, al
jne 0x4113ef
mov ebp, 0x1e
mov eax, edi
xor edx, edx
xor edi, edi
div ebp
mov dword [0x456634], edi
mov edi, dword [0x45677c]
mov byte [0x4565f9], 0x1e
mov dword [0x456638], edi
xor ebp, ebp
mov dword [0x45663c], ebp
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov word [0x4565fe], dx
mov dword [0x456630], eax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456776]
test ax, ax
je 0x410f44
mov word [0x456628], ax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456775]
test al, al
jne 0x40e550
mov eax, 0x88888889
mov byte [0x456621], 0x1e
mov dword [0x45665c], 0
mul edi
mov dword [0x456664], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov dword [0x456658], eax
sub edi, edx
mov word [0x456626], di
mov edi, dword [0x45678c]
mov dword [0x456660], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456786]
test ax, ax
je 0x410fbf
mov word [0x456650], ax
imul eax, esi, 0xa0
movzx eax, byte [eax + 0x456785]
test al, al
jne 0x41139e
mov eax, edi
mov ebp, 0x1e
xor edx, edx
mov edi, dword [0x45679c]
div ebp
mov byte [0x456649], 0x1e
mov dword [0x456688], edi
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov word [0x45664e], dx
mov dword [0x456680], eax
xor eax, eax
mov dword [0x456684], eax
xor eax, eax
mov dword [0x45668c], eax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456796]
test ax, ax
je 0x41102e
mov word [0x456678], ax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x456795]
test al, al
jne 0x40e614
mov eax, 0x88888889
mov byte [0x456671], 0x1e
mov dword [0x4566ac], 0
mul edi
mov dword [0x4566b4], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov dword [0x4566a8], eax
sub edi, edx
mov word [0x456676], di
mov edi, dword [0x4567ac]
mov dword [0x4566b0], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567a6]
test ax, ax
je 0x4110a9
mov word [0x4566a0], ax
imul eax, esi, 0xa0
movzx eax, byte [eax + 0x4567a5]
test al, al
jne 0x411440
mov eax, edi
mov ebp, 0x1e
xor edx, edx
mov edi, dword [0x4567bc]
div ebp
mov byte [0x456699], 0x1e
mov dword [0x4566d8], edi
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov word [0x45669e], dx
mov dword [0x4566d0], eax
xor eax, eax
mov dword [0x4566d4], eax
xor eax, eax
mov dword [0x4566dc], eax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567b6]
test ax, ax
je 0x411118
mov word [0x4566c8], ax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x4567b5]
test al, al
jne 0x40e6d8
mov eax, 0x88888889
mov byte [0x4566c1], 0x1e
mov dword [0x4566fc], 0
mul edi
mov dword [0x456704], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov dword [0x4566f8], eax
sub edi, edx
mov word [0x4566c6], di
mov edi, dword [0x4567cc]
mov dword [0x456700], edi
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567c6]
test ax, ax
je 0x411193
mov word [0x4566f0], ax
lea eax, [ebx + esi]
shl eax, 5
movzx eax, byte [eax + 0x4567c5]
test al, al
jne 0x40e739
mov eax, 0x88888889
mov byte [0x4566e9], 0x1e
mov dword [0x456724], 0
mul edi
mov dword [0x45672c], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
sub edi, edx
mov word [0x4566ee], di
mov dword [0x456728], eax
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567d6]
test dx, dx
je 0x40e783
mov word [0x456718], dx
jmp 0x40e783
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40d95e
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40d908
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40dab6
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40da60
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40da0a
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40d9b4
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
mov dword [0x45671c], eax
mov word [0x456716], cx
jmp 0x40e271
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40d8b2
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40db62
movzx edi, dl
mov eax, ecx
xor edx, edx
div edi
mov ecx, edx
jmp 0x40db0c
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40df81
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40df23
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40dec5
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40de67
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40de09
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40ddab
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40dd4d
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40dcef
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40dc91
movzx edi, dl
mov eax, ebx
xor edx, edx
div edi
mov ebx, edx
jmp 0x40dc33
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456746]
test dx, dx
je 0x41098d
mov word [0x4565b0], dx
jmp 0x41098d
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41055f
movzx ebp, al
xor edx, edx
mov byte [0x456649], al
mov eax, edi
div ebp
mov edi, dword [0x45679c]
mov dword [0x456684], 0
mov dword [0x45668c], 0
mov dword [0x456688], edi
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov word [0x45664e], dx
mov dword [0x456680], eax
test ecx, ecx
js 0x411016
jmp 0x40e5ff
movzx ebp, al
xor edx, edx
mov byte [0x4565f9], al
mov eax, edi
div ebp
mov edi, dword [0x45677c]
mov dword [0x456634], 0
mov dword [0x45663c], 0
mov dword [0x456638], edi
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov word [0x4565fe], dx
mov dword [0x456630], eax
test ecx, ecx
js 0x410f2c
jmp 0x40e53b
movzx ebp, al
xor edx, edx
mov byte [0x456699], al
mov eax, edi
div ebp
mov edi, dword [0x4567bc]
mov dword [0x4566d4], 0
mov dword [0x4566dc], 0
mov dword [0x4566d8], edi
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov word [0x45669e], dx
mov dword [0x4566d0], eax
test ecx, ecx
js 0x411100
jmp 0x40e6c3
mov edi, dword [0x45674c]
lea ebx, [esi*4]
mov dword [0x4565c4], 0
mov dword [0x4565c0], edi
test ecx, ecx
js 0x412990
lea eax, [ebx + esi]
movzx edx, byte [0x4565a9]
shl eax, 5
mov eax, dword [eax + 0x456740]
mov dword [0x4565a4], eax
test dl, dl
jne 0x412044
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565ae], di
mov edi, dword [0x45675c]
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov dword [0x4565e4], 0
mov dword [0x4565e0], eax
mov dword [0x4565e8], edi
mov dword [0x4565ec], 0
test ecx, ecx
js 0x41296f
lea eax, [ebx + esi]
movzx edx, byte [0x4565d1]
shl eax, 5
mov eax, dword [eax + 0x456750]
mov dword [0x4565cc], eax
test dl, dl
jne 0x412034
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565d6], di
mov edi, dword [0x45676c]
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov dword [0x45660c], 0
mov dword [0x456608], eax
mov dword [0x456610], edi
mov dword [0x456614], 0
test ecx, ecx
js 0x4129d2
lea eax, [ebx + esi]
movzx edx, byte [0x4565f9]
shl eax, 5
mov eax, dword [eax + 0x456760]
mov dword [0x4565f4], eax
test dl, dl
jne 0x412024
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4565fe], di
mov edi, dword [0x45677c]
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov dword [0x456634], 0
mov dword [0x456630], eax
mov dword [0x456638], edi
mov dword [0x45663c], 0
test ecx, ecx
js 0x4129b1
lea eax, [ebx + esi]
movzx edx, byte [0x456621]
shl eax, 5
mov eax, dword [eax + 0x456770]
mov dword [0x45661c], eax
test dl, dl
jne 0x412014
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x456626], di
mov edi, dword [0x45678c]
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov dword [0x45665c], 0
mov dword [0x456658], eax
mov dword [0x456660], edi
mov dword [0x456664], 0
test ecx, ecx
js 0x412a14
lea eax, [ebx + esi]
movzx edx, byte [0x456649]
shl eax, 5
mov eax, dword [eax + 0x456780]
mov dword [0x456644], eax
test dl, dl
jne 0x412004
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x45664e], di
mov edi, dword [0x45679c]
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov dword [0x456684], 0
mov dword [0x456680], eax
mov dword [0x456688], edi
mov dword [0x45668c], 0
test ecx, ecx
js 0x4129f3
lea eax, [ebx + esi]
movzx edx, byte [0x456671]
shl eax, 5
mov eax, dword [eax + 0x456790]
mov dword [0x45666c], eax
test dl, dl
jne 0x411ff4
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x456676], di
mov edi, dword [0x4567ac]
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov dword [0x4566ac], 0
mov dword [0x4566a8], eax
mov dword [0x4566b0], edi
mov dword [0x4566b4], 0
test ecx, ecx
js 0x412a56
lea eax, [ebx + esi]
movzx edx, byte [0x456699]
shl eax, 5
mov eax, dword [eax + 0x4567a0]
mov dword [0x456694], eax
test dl, dl
jne 0x411fe4
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x45669e], di
mov edi, dword [0x4567bc]
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov dword [0x4566d4], 0
mov dword [0x4566d0], eax
mov dword [0x4566d8], edi
mov dword [0x4566dc], 0
test ecx, ecx
js 0x412a35
lea eax, [ebx + esi]
movzx edx, byte [0x4566c1]
shl eax, 5
mov eax, dword [eax + 0x4567b0]
mov dword [0x4566bc], eax
test dl, dl
jne 0x411fd4
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4566c6], di
mov edi, dword [0x4567cc]
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov dword [0x4566fc], 0
mov dword [0x4566f8], eax
mov dword [0x456700], edi
mov dword [0x456704], 0
test ecx, ecx
js 0x412a98
lea eax, [ebx + esi]
movzx edx, byte [0x4566e9]
shl eax, 5
mov eax, dword [eax + 0x4567c0]
mov dword [0x4566e4], eax
test dl, dl
jne 0x411fc4
mov eax, 0x88888889
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
sub edi, edx
mov word [0x4566ee], di
mov edi, dword [0x4567dc]
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456724], 0
mov dword [0x456720], eax
mov dword [0x456728], edi
mov dword [0x45672c], 0
test ecx, ecx
js 0x412a77
lea eax, [ebx + esi]
movzx edx, byte [0x456711]
shl eax, 5
mov eax, dword [eax + 0x4567d0]
mov dword [0x45670c], eax
test dl, dl
je 0x41093e
movzx esi, dl
mov eax, edi
xor edx, edx
div esi
mov edi, edx
jmp 0x41094f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4108df
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41086f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4107ff
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41078f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41071f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4106af
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41063f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4105cf
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456786]
test ax, ax
je 0x40dd8b
mov word [0x456650], ax
jmp 0x40dd8b
mov eax, dword [0x45674c]
lea ebx, [esi*4]
mov dword [0x4565c4], 0
mov dword [0x4565c0], eax
test ecx, ecx
js 0x4127f9
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456740]
movzx edx, byte [edx + 0x456745]
mov dword [0x4565a4], edi
movzx edi, dl
test dl, dl
jne 0x4119bb
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4565a9], dl
xor edx, edx
div edi
mov dword [0x4565e4], 0
mov dword [0x4565ec], 0
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov word [0x4565ae], dx
mov dword [0x4565e0], eax
mov eax, dword [0x45675c]
mov dword [0x4565e8], eax
test ecx, ecx
js 0x41283d
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456750]
movzx edx, byte [edx + 0x456755]
mov dword [0x4565cc], edi
movzx edi, dl
test dl, dl
jne 0x411a2b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4565d1], dl
xor edx, edx
div edi
mov dword [0x45660c], 0
mov dword [0x456614], 0
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov word [0x4565d6], dx
mov dword [0x456608], eax
mov eax, dword [0x45676c]
mov dword [0x456610], eax
test ecx, ecx
js 0x41281b
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456760]
movzx edx, byte [edx + 0x456765]
mov dword [0x4565f4], edi
movzx edi, dl
test dl, dl
jne 0x411a9b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4565f9], dl
xor edx, edx
div edi
mov dword [0x456634], 0
mov dword [0x45663c], 0
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov word [0x4565fe], dx
mov dword [0x456630], eax
mov eax, dword [0x45677c]
mov dword [0x456638], eax
test ecx, ecx
js 0x4128c5
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456770]
movzx edx, byte [edx + 0x456775]
mov dword [0x45661c], edi
movzx edi, dl
test dl, dl
jne 0x411b0b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x456621], dl
xor edx, edx
div edi
mov dword [0x45665c], 0
mov dword [0x456664], 0
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov word [0x456626], dx
mov dword [0x456658], eax
mov eax, dword [0x45678c]
mov dword [0x456660], eax
test ecx, ecx
js 0x4128a3
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456780]
movzx edx, byte [edx + 0x456785]
mov dword [0x456644], edi
movzx edi, dl
test dl, dl
jne 0x411b7b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x456649], dl
xor edx, edx
div edi
mov dword [0x456684], 0
mov dword [0x45668c], 0
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov word [0x45664e], dx
mov dword [0x456680], eax
mov eax, dword [0x45679c]
mov dword [0x456688], eax
test ecx, ecx
js 0x412881
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456790]
movzx edx, byte [edx + 0x456795]
mov dword [0x45666c], edi
movzx edi, dl
test dl, dl
jne 0x411beb
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x456671], dl
xor edx, edx
div edi
mov dword [0x4566ac], 0
mov dword [0x4566b4], 0
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov word [0x456676], dx
mov dword [0x4566a8], eax
mov eax, dword [0x4567ac]
mov dword [0x4566b0], eax
test ecx, ecx
js 0x41285f
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567a0]
movzx edx, byte [edx + 0x4567a5]
mov dword [0x456694], edi
movzx edi, dl
test dl, dl
jne 0x411c5b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x456699], dl
xor edx, edx
div edi
mov dword [0x4566d4], 0
mov dword [0x4566dc], 0
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov word [0x45669e], dx
mov dword [0x4566d0], eax
mov eax, dword [0x4567bc]
mov dword [0x4566d8], eax
test ecx, ecx
js 0x412adb
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567b0]
movzx edx, byte [edx + 0x4567b5]
mov dword [0x4566bc], edi
movzx edi, dl
test dl, dl
jne 0x411ccb
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4566c1], dl
xor edx, edx
div edi
mov dword [0x4566fc], 0
mov dword [0x456704], 0
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov word [0x4566c6], dx
mov dword [0x4566f8], eax
mov eax, dword [0x4567cc]
mov dword [0x456700], eax
test ecx, ecx
js 0x412ab9
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567c0]
movzx edx, byte [edx + 0x4567c5]
mov dword [0x4566e4], edi
movzx edi, dl
test dl, dl
jne 0x411d3b
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4566e9], dl
xor edx, edx
div edi
mov dword [0x456724], 0
mov dword [0x45672c], 0
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov word [0x4566ee], dx
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
mov dword [0x456728], eax
test ecx, ecx
js 0x412ba7
lea edx, [ebx + esi]
shl edx, 5
mov ecx, dword [edx + 0x4567d0]
movzx edx, byte [edx + 0x4567d5]
mov dword [0x45670c], ecx
test dl, dl
je 0x410de5
jmp 0x40e798
lea esi, [esi + esi*4]
mov ebp, 0x456748
mov ebx, 0x4565a4
shl esi, 5
add esi, 0x456740
mov eax, dword [ebp]
mov edi, dword [ebp + 4]
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x1c], edi
test ecx, ecx
js 0x411e4a
mov eax, dword [esi]
movzx edx, byte [ebx + 5]
mov dword [ebx], eax
movzx eax, byte [esi + 4]
mov byte [ebx + 4], al
test dl, dl
jne 0x411e20
mov eax, 0x88888889
add ebp, 0x10
add ebx, 0x28
add esi, 0x10
mul edi
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [ebx - 0x18], eax
sub edi, edx
mov word [ebx - 0x1e], di
cmp ebp, 0x4567e8
jne 0x411dbd
jmp 0x40e271
mov eax, edi
mov edi, edx
xor edx, edx
add ebp, 0x10
div edi
add ebx, 0x28
add esi, 0x10
mov dword [ebx - 0x18], eax
mov eax, 0x4567e8
mov word [ebx - 0x1e], dx
cmp eax, ebp
jne 0x411dbd
jmp 0x40e271
movzx eax, word [esi + 6]
test ax, ax
je 0x411ddb
mov word [ebx + 0xc], ax
jmp 0x411ddb
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456776]
test ax, ax
je 0x40dd2d
mov word [0x456628], ax
jmp 0x40dd2d
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x4567c6]
test ax, ax
je 0x40df03
mov word [0x4566f0], ax
jmp 0x40df03
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x4567d6]
test ax, ax
je 0x40df61
mov word [0x456718], ax
jmp 0x40df61
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x4567a6]
test ax, ax
je 0x40de47
mov word [0x4566a0], ax
jmp 0x40de47
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456756]
test ax, ax
je 0x40dc71
mov word [0x4565d8], ax
jmp 0x40dc71
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456796]
test ax, ax
je 0x40dde9
mov word [0x456678], ax
jmp 0x40dde9
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456766]
test ax, ax
je 0x40dccf
mov word [0x456600], ax
jmp 0x40dccf
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x4567b6]
test ax, ax
je 0x40dea5
mov word [0x4566c8], ax
jmp 0x40dea5
lea eax, [esi + esi*4]
shl eax, 5
movzx eax, word [eax + 0x456746]
test ax, ax
je 0x40dc13
mov word [0x4565b0], ax
jmp 0x40dc13
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567d6]
test ax, ax
je 0x41091d
mov word [0x456718], ax
jmp 0x41091d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567c6]
test ax, ax
je 0x4108ad
mov word [0x4566f0], ax
jmp 0x4108ad
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x41185f
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4117f0
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x411781
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x411712
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4116a3
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x411634
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4115c5
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x411556
movzx ebp, dl
mov eax, edi
xor edx, edx
div ebp
mov edi, edx
jmp 0x4114e7
test ecx, ecx
js 0x412b85
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456740]
movzx eax, byte [edx + 0x456744]
add edx, 0x456740
movzx edx, byte [edx + 5]
mov dword [0x4565a4], edi
mov byte [0x4565a8], al
movzx edi, dl
test dl, dl
jne 0x412095
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565a9], dl
xor edx, edx
mov ebp, dword [0x45675c]
div edi
mov dword [0x4565e4], 0
mov dword [0x4565e8], ebp
mov dword [0x4565ec], 0
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov word [0x4565ae], dx
mov dword [0x4565e0], eax
test ecx, ecx
js 0x412b63
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456750]
movzx eax, byte [edx + 0x456754]
add edx, 0x456740
movzx edx, byte [edx + 0x15]
mov dword [0x4565cc], edi
mov byte [0x4565d0], al
movzx edi, dl
test dl, dl
jne 0x412118
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565d1], dl
xor edx, edx
mov ebp, dword [0x45676c]
div edi
mov dword [0x45660c], 0
mov dword [0x456610], ebp
mov dword [0x456614], 0
mov dword [0x4565dc], eax
mov eax, dword [0x456768]
mov word [0x4565d6], dx
mov dword [0x456608], eax
test ecx, ecx
js 0x412b41
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456760]
movzx eax, byte [edx + 0x456764]
add edx, 0x456740
movzx edx, byte [edx + 0x25]
mov dword [0x4565f4], edi
mov byte [0x4565f8], al
movzx edi, dl
test dl, dl
jne 0x41219b
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4565f9], dl
xor edx, edx
mov ebp, dword [0x45677c]
div edi
mov dword [0x456634], 0
mov dword [0x456638], ebp
mov dword [0x45663c], 0
mov dword [0x456604], eax
mov eax, dword [0x456778]
mov word [0x4565fe], dx
mov dword [0x456630], eax
test ecx, ecx
js 0x412b1f
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456770]
movzx eax, byte [edx + 0x456774]
add edx, 0x456740
movzx edx, byte [edx + 0x35]
mov dword [0x45661c], edi
mov byte [0x456620], al
movzx edi, dl
test dl, dl
jne 0x41221e
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456621], dl
xor edx, edx
mov ebp, dword [0x45678c]
div edi
mov dword [0x45665c], 0
mov dword [0x456660], ebp
mov dword [0x456664], 0
mov dword [0x45662c], eax
mov eax, dword [0x456788]
mov word [0x456626], dx
mov dword [0x456658], eax
test ecx, ecx
js 0x412afd
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456780]
movzx eax, byte [edx + 0x456784]
add edx, 0x456740
movzx edx, byte [edx + 0x45]
mov dword [0x456644], edi
mov byte [0x456648], al
movzx edi, dl
test dl, dl
jne 0x4122a1
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456649], dl
xor edx, edx
mov ebp, dword [0x45679c]
div edi
mov dword [0x456684], 0
mov dword [0x456688], ebp
mov dword [0x45668c], 0
mov dword [0x456654], eax
mov eax, dword [0x456798]
mov word [0x45664e], dx
mov dword [0x456680], eax
test ecx, ecx
js 0x41294d
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x456790]
movzx eax, byte [edx + 0x456794]
add edx, 0x456740
movzx edx, byte [edx + 0x55]
mov dword [0x45666c], edi
mov byte [0x456670], al
movzx edi, dl
test dl, dl
jne 0x412324
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456671], dl
xor edx, edx
mov ebp, dword [0x4567ac]
div edi
mov dword [0x4566ac], 0
mov dword [0x4566b0], ebp
mov dword [0x4566b4], 0
mov dword [0x45667c], eax
mov eax, dword [0x4567a8]
mov word [0x456676], dx
mov dword [0x4566a8], eax
test ecx, ecx
js 0x41292b
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567a0]
movzx eax, byte [edx + 0x4567a4]
add edx, 0x456740
movzx edx, byte [edx + 0x65]
mov dword [0x456694], edi
mov byte [0x456698], al
movzx edi, dl
test dl, dl
jne 0x4123a7
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x456699], dl
xor edx, edx
mov ebp, dword [0x4567bc]
div edi
mov dword [0x4566d4], 0
mov dword [0x4566d8], ebp
mov dword [0x4566dc], 0
mov dword [0x4566a4], eax
mov eax, dword [0x4567b8]
mov word [0x45669e], dx
mov dword [0x4566d0], eax
test ecx, ecx
js 0x412909
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567b0]
movzx eax, byte [edx + 0x4567b4]
add edx, 0x456740
movzx edx, byte [edx + 0x75]
mov dword [0x4566bc], edi
mov byte [0x4566c0], al
movzx edi, dl
test dl, dl
jne 0x41242a
mov edi, 0x1e
mov edx, 0x1e
mov eax, ebp
mov byte [0x4566c1], dl
xor edx, edx
mov ebp, dword [0x4567cc]
div edi
mov dword [0x4566fc], 0
mov dword [0x456700], ebp
mov dword [0x456704], 0
mov dword [0x4566cc], eax
mov eax, dword [0x4567c8]
mov word [0x4566c6], dx
mov dword [0x4566f8], eax
test ecx, ecx
js 0x4128e7
lea edx, [ebx + esi]
shl edx, 5
mov edi, dword [edx + 0x4567c0]
movzx eax, byte [edx + 0x4567c4]
add edx, 0x456740
movzx edx, byte [edx + 0x85]
mov dword [0x4566e4], edi
mov byte [0x4566e8], al
movzx edi, dl
test dl, dl
jne 0x4124b0
mov edi, 0x1e
mov edx, 0x1e
mov byte [0x4566e9], dl
mov eax, ebp
xor edx, edx
div edi
mov dword [0x456724], 0
mov dword [0x45672c], 0
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov word [0x4566ee], dx
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
mov dword [0x456728], eax
test ecx, ecx
js 0x412c1a
lea edx, [ebx + esi]
shl edx, 5
mov ecx, dword [edx + 0x4567d0]
mov dword [0x45670c], ecx
jmp 0x410dc3
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567d6]
test dx, dx
je 0x410dbd
mov word [0x456718], dx
jmp 0x410dbd
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456776]
test ax, ax
je 0x41067d
mov word [0x456628], ax
jmp 0x41067d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456766]
test ax, ax
je 0x41060d
mov word [0x456600], ax
jmp 0x41060d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456746]
test ax, ax
je 0x41052d
mov word [0x4565b0], ax
jmp 0x41052d
movzx eax, word [eax + 0x456746]
test ax, ax
je 0x4125a6
mov word [0x4565b0], ax
imul eax, esi, 0xa0
movzx eax, byte [eax + 0x456745]
test al, al
jne 0x410df4
mov eax, edi
mov ebp, 0x1e
xor edx, edx
mov edi, dword [0x45675c]
div ebp
mov byte [0x4565a9], 0x1e
mov dword [0x4565e8], edi
mov dword [0x4565b4], eax
mov eax, dword [0x456758]
mov word [0x4565ae], dx
xor edx, edx
mov dword [0x4565e0], eax
xor eax, eax
mov dword [0x4565e4], eax
mov dword [0x4565ec], edx
jmp 0x410e40
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456756]
test ax, ax
je 0x41059d
mov word [0x4565d8], ax
jmp 0x41059d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567b6]
test ax, ax
je 0x41083d
mov word [0x4566c8], ax
jmp 0x41083d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567a6]
test ax, ax
je 0x4107cd
mov word [0x4566a0], ax
jmp 0x4107cd
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456796]
test ax, ax
je 0x41075d
mov word [0x456678], ax
jmp 0x41075d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456786]
test ax, ax
je 0x4106ed
mov word [0x456650], ax
jmp 0x4106ed
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456786]
test dx, dx
je 0x410b69
mov word [0x456650], dx
jmp 0x410b69
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456776]
test dx, dx
je 0x410af2
mov word [0x456628], dx
jmp 0x410af2
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456766]
test dx, dx
je 0x410a7b
mov word [0x456600], dx
jmp 0x410a7b
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456756]
test dx, dx
je 0x410a04
mov word [0x4565d8], dx
jmp 0x410a04
mov ebp, 0x1e
mov eax, 0x1e
jmp 0x40e48f
mov ebp, 0x1e
mov eax, 0x1e
jmp 0x40e617
mov ebp, 0x1e
mov eax, 0x1e
jmp 0x40e553
mov ebp, 0x1e
mov eax, 0x1e
jmp 0x40e6db
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567c6]
test dx, dx
je 0x410d45
mov word [0x4566f0], dx
jmp 0x410d45
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567b6]
test dx, dx
je 0x410cce
mov word [0x4566c8], dx
jmp 0x410cce
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567a6]
test dx, dx
je 0x410c57
mov word [0x4566a0], dx
jmp 0x410c57
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456796]
test dx, dx
je 0x410be0
mov word [0x456678], dx
jmp 0x410be0
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456746]
test dx, dx
je 0x411991
mov word [0x4565b0], dx
jmp 0x411991
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456766]
test dx, dx
je 0x411a71
mov word [0x456600], dx
jmp 0x411a71
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456756]
test dx, dx
je 0x411a01
mov word [0x4565d8], dx
jmp 0x411a01
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567a6]
test dx, dx
je 0x411c31
mov word [0x4566a0], dx
jmp 0x411c31
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456796]
test dx, dx
je 0x411bc1
mov word [0x456678], dx
jmp 0x411bc1
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456786]
test dx, dx
je 0x411b51
mov word [0x456650], dx
jmp 0x411b51
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456776]
test dx, dx
je 0x411ae1
mov word [0x456628], dx
jmp 0x411ae1
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567c6]
test dx, dx
je 0x412474
mov word [0x4566f0], dx
jmp 0x412474
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567b6]
test dx, dx
je 0x4123f1
mov word [0x4566c8], dx
jmp 0x4123f1
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567a6]
test dx, dx
je 0x41236e
mov word [0x4566a0], dx
jmp 0x41236e
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456796]
test dx, dx
je 0x4122eb
mov word [0x456678], dx
jmp 0x4122eb
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456756]
test ax, ax
je 0x411525
mov word [0x4565d8], ax
jmp 0x411525
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456746]
test ax, ax
je 0x4114b6
mov word [0x4565b0], ax
jmp 0x4114b6
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456776]
test ax, ax
je 0x411603
mov word [0x456628], ax
jmp 0x411603
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456766]
test ax, ax
je 0x411594
mov word [0x456600], ax
jmp 0x411594
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456796]
test ax, ax
je 0x4116e1
mov word [0x456678], ax
jmp 0x4116e1
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x456786]
test ax, ax
je 0x411672
mov word [0x456650], ax
jmp 0x411672
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567b6]
test ax, ax
je 0x4117bf
mov word [0x4566c8], ax
jmp 0x4117bf
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567a6]
test ax, ax
je 0x411750
mov word [0x4566a0], ax
jmp 0x411750
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567d6]
test ax, ax
je 0x41189d
mov word [0x456718], ax
jmp 0x41189d
lea eax, [ebx + esi]
shl eax, 5
movzx eax, word [eax + 0x4567c6]
test ax, ax
je 0x41182e
mov word [0x4566f0], ax
jmp 0x41182e
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567c6]
test dx, dx
je 0x411d11
mov word [0x4566f0], dx
jmp 0x411d11
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567b6]
test dx, dx
je 0x411ca1
mov word [0x4566c8], dx
jmp 0x411ca1
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456786]
test dx, dx
je 0x412268
mov word [0x456650], dx
jmp 0x412268
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456776]
test dx, dx
je 0x4121e5
mov word [0x456628], dx
jmp 0x4121e5
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456766]
test dx, dx
je 0x412162
mov word [0x456600], dx
jmp 0x412162
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456756]
test dx, dx
je 0x4120df
mov word [0x4565d8], dx
jmp 0x4120df
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x456746]
test dx, dx
je 0x41205c
mov word [0x4565b0], dx
jmp 0x41205c
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567d6]
test dx, dx
je 0x411d81
mov word [0x456718], dx
jmp 0x411d81
mov eax, 0x88888889
mov byte [0x4566e9], 0x1e
mov dword [0x456724], 0
mul edi
mov dword [0x45672c], 0
mov eax, edx
shr eax, 4
imul edx, eax, 0x1e
mov dword [0x4566f4], eax
mov eax, dword [0x4567d8]
mov dword [0x456720], eax
mov eax, dword [0x4567dc]
sub edi, edx
mov word [0x4566ee], di
mov dword [0x456728], eax
jmp 0x40e783
lea edx, [ebx + esi]
shl edx, 5
movzx edx, word [edx + 0x4567d6]
test dx, dx
je 0x4124f8
mov word [0x456718], dx
jmp 0x4124f8