Function at 0x4a3950
Capabilities:
Enumerate pe sections
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x914
push ebx
mov ebx, ecx
mov eax, dword [ebx]
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x40], ebx
je 0x4a7363
push ebp
mov ecx, 0x71c1f0
call fcn.00420330
xor eax, eax
mov al, byte [ebx + 5]
xor ecx, ecx
mov cl, byte [ebx + 4]
push eax
push ecx
mov ecx, 0x86de50
call fcn.004607b0
mov ebp, eax
cmp ebp, edi
mov dword [esp + 0x20], ebp
je 0x4a7362
mov eax, dword [0x708598]
cmp eax, 1
je 0x4a39a7
cmp eax, edi
jne 0x4a39d1
mov eax, dword [ebp]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a39b0
sub eax, edx
xor edx, edx
cmp eax, 0x11
setle dl
dec edx
and edx, 0x14
add edx, 0x96
mov dword [0x709a10], edx
mov al, byte [esp + 0x948]
test al, al
jne 0x4a39e4
mov eax, dword [0x709a10]
mov dword [ebx + 0x20], eax
xor ecx, ecx
mov cl, byte [ebx + 4]
push esi
mov dword [esp + 0x80], edi
mov dword [esp + 0x40], 1
mov byte [esp + 0x30], 0xff
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x34], 0xff
push ecx
mov ecx, 0x8655e8
call fcn.004c8fb0
mov dl, byte [ebp + 0x29]
xor esi, esi
mov si, word [ebp + 0x2c]
mov byte [esp + 0x3e], al
mov al, byte [ebp + 0x2b]
mov byte [esp + 0x4e], al
mov al, byte [ebx + 4]
cmp al, 0x19
mov byte [esp + 0x3d], 0
mov byte [esp + 0x88], dl
mov dword [esp + 0x84], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x74], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x98], esi
mov dword [esp + 0x20], edi
mov byte [esp + 0x4f], 0
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
mov byte [esp + 0x93], 0
mov byte [esp + 0x92], 0
mov byte [esp + 0x91], 0
mov byte [esp + 0x90], 0
je 0x4a3ae3
cmp al, 0x2c
je 0x4a3ae3
cmp al, 0x26
je 0x4a3ae3
cmp al, 0x29
je 0x4a3ae3
cmp al, 0x4e
je 0x4a3ae3
cmp al, 0x4f
je 0x4a3ae3
cmp al, 0x50
je 0x4a3ae3
cmp al, 0x64
je 0x4a3ae3
cmp al, 0x65
je 0x4a3ae3
cmp al, 0x66
je 0x4a3ae3
cmp al, 0x67
je 0x4a3ae3
xor ecx, ecx
mov cx, word [ebp + 0x36]
xor edx, edx
mov dx, word [ebp + 0x38]
xor eax, eax
mov ax, word [ebp + 0x3a]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov dword [esp + 0x54], eax
xor edx, edx
mov dx, word [ebp + 0x3e]
mov bl, byte [esp + 0x930]
mov edi, dword [esp + 0x938]
xor eax, eax
mov ax, word [ebp + 0x40]
xor ecx, ecx
mov cx, word [ebp + 0x3c]
mov dword [esp + 0x6c], edx
xor edx, edx
mov dx, word [ebp + 0x44]
mov dword [esp + 0x64], eax
xor eax, eax
mov ax, word [ebp + 0x46]
mov dword [esp + 0x60], ecx
xor ecx, ecx
mov cx, word [ebp + 0x42]
mov dword [esp + 0x68], edx
movzx dx, byte [ebp + 0x49]
mov word [esp + 0x50], dx
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x70], ecx
mov cl, byte [ebp + 0x48]
lea eax, [edx - 1]
cmp eax, 0xa
mov byte [esp + 0x3f], cl
ja case.default.0x4a3b51
jmp dword [eax*4 + 0x4a7370]
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x22013b8]
jmp 0x4a3cbd
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x86db70]
jmp 0x4a3cbd
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x86dcb0]
jmp 0x4a3cbd
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21fe1c0]
movzx eax, byte [eax + 0x21fe1c1]
lea ecx, [ecx + ecx*2]
lea eax, [eax + ecx*8]
lea ecx, [eax + eax*4]
mov ax, word [ecx*8 + 0x8666e0]
mov word [esp + 0x44], ax
jmp case.0x4a3b51.5
movzx eax, bl
lea ecx, [eax + eax*4]
mov ax, word [ecx*8 + 0x21fe2b0]
mov word [esp + 0x44], ax
jmp case.0x4a3b51.5
mov ecx, dword [0x71cfb0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x26f4]
test eax, eax
je case.0x4a3b51.5
mov ecx, dword [eax + 0x1e50]
mov ax, word [ecx + 4]
mov word [esp + 0x44], ax
jmp case.0x4a3b51.5
movzx eax, byte [esp + 0x934]
lea ecx, [eax + eax*4]
mov ax, word [ecx*8 + 0x21fdf24]
mov word [esp + 0x44], ax
jmp case.0x4a3b51.5
mov eax, dword [0x864d64]
test eax, eax
je case.0x4a3b51.5
mov cx, word [eax + 0x420c]
jmp 0x4a3cbd
mov eax, dword [0x71cfb0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x26f8]
test ecx, ecx
je case.0x4a3b51.5
call fcn.004af920
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x44], eax
jmp case.0x4a3b51.5
mov eax, dword [0x8655b0]
test eax, eax
je case.0x4a3b51.5
mov ecx, eax
call fcn.004a9490
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x44], eax
jmp case.0x4a3b51.5
cmp edi, 0xffffffff
je 0x4a3ca1
cmp edi, 0xf0
jge 0x4a3c8c
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x86b5ec]
jmp 0x4a3cbd
cmp edi, 0x1e0
jge case.0x4a3b51.5
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x21fc7e8]
jmp 0x4a3cbd
movzx ecx, byte [esp + 0x934]
movzx eax, bl
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
lea eax, [eax + eax*4]
mov cx, word [eax*8 + 0x8666e0]
mov word [esp + 0x44], cx
mov ecx, dword [esp + 0x92c]
test ecx, ecx
je 0x4a3cd1
mov dword [esp + 0x44], esi
cmp edx, 9
je 0x4a402e
mov eax, dword [esp + 0x48]
mov al, byte [eax + 4]
cmp al, 0x19
je 0x4a402e
cmp al, 0x2c
je 0x4a402e
cmp al, 0x26
je 0x4a402e
cmp al, 0x29
je 0x4a402e
cmp al, 0x4e
je 0x4a402e
cmp al, 0x4f
je 0x4a402e
cmp al, 0x50
je 0x4a402e
cmp al, 0x1e
je 0x4a402e
cmp al, 0x5f
je 0x4a402e
cmp al, 0x18
je 0x4a402e
cmp al, 0x27
je 0x4a402e
cmp al, 0x64
je 0x4a402e
cmp al, 0x65
je 0x4a402e
cmp al, 0x66
je 0x4a402e
cmp al, 0x67
je 0x4a402e
test ecx, ecx
mov byte [esp + 0x4f], 1
jne 0x4a402e
mov di, word [esp + 0x38]
mov bp, word [esp + 0x74]
xor esi, esi
mov eax, dword [esp + 0x93c]
dec eax
cmp eax, 0xa
ja case.default.0x4a3d83
jmp dword [eax*4 + 0x4a739c]
mov eax, dword [esp + 0x938]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x22013ba]
jmp 0x4a3f07
mov eax, dword [esp + 0x938]
lea edx, [eax + eax*4]
mov bl, byte [esi + edx*8 + 0x86db72]
jmp 0x4a3f07
mov eax, dword [esp + 0x938]
lea eax, [eax + eax*4]
mov bl, byte [esi + eax*8 + 0x86dcb2]
jmp 0x4a3f07
movzx eax, byte [esp + 0x930]
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21fe1c0]
movzx edx, byte [eax + 0x21fe1c1]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*8]
lea eax, [eax + eax*4]
mov bl, byte [esi + eax*8 + 0x8666e2]
jmp 0x4a3f07
movzx eax, byte [esp + 0x930]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21fe2b2]
jmp 0x4a3f07
mov edx, dword [0x71cfb0]
mov eax, dword [edx]
mov eax, dword [eax + 0x26f4]
test eax, eax
je case.0x4a3d83.5
mov ecx, dword [eax + 0x1e50]
mov bl, byte [ecx + esi + 6]
jmp 0x4a3f07
mov eax, dword [0x864d64]
test eax, eax
je case.0x4a3d83.5
mov edx, eax
mov bl, byte [esi + edx + 0x420e]
jmp 0x4a3f07
movzx eax, byte [esp + 0x934]
lea eax, [eax + eax*4]
mov bl, byte [esi + eax*8 + 0x21fdf26]
jmp 0x4a3f07
mov ecx, dword [0x71cfb0]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x26f8]
test ecx, ecx
je case.0x4a3d83.5
push esi
call fcn.004af960
movzx bx, al
mov dword [esp + 0x44], ebx
jmp 0x4a3f07
mov eax, dword [0x8655b0]
test eax, eax
je case.0x4a3d83.5
push esi
mov ecx, eax
call fcn.004a94a0
mov bl, al
jmp 0x4a3f07
mov eax, dword [esp + 0x938]
cmp eax, 0xffffffff
je 0x4a3ee7
cmp eax, 0xf0
jge 0x4a3ec9
lea eax, [eax + eax*4]
mov bl, byte [esi + eax*8 + 0x86b5ee]
jmp 0x4a3f07
cmp eax, 0x1e0
jge case.0x4a3d83.5
mov eax, dword [esp + 0x938]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21fc7ea]
jmp 0x4a3f07
movzx eax, byte [esp + 0x930]
lea edx, [eax + eax*2]
movzx eax, byte [esp + 0x934]
lea eax, [eax + edx*8]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x8666e2]
test bl, bl
mov byte [esp + 0x28], bl
je case.0x4a3d83.5
mov edx, dword [esp + 0x28]
push edx
push 0x1e
mov ecx, 0x86de50
call fcn.004607b0
test eax, eax
je case.0x4a3d83.5
mov dl, byte [esp + 0x3d]
mov cl, byte [eax + 0x28]
add dl, cl
mov byte [esp + 0x3d], dl
mov dl, byte [esp + 0x88]
test dl, dl
mov byte [esp + esi + 0x90], bl
jne 0x4a3f57
mov dl, byte [eax + 0x29]
mov byte [esp + 0x88], dl
jmp 0x4a3f6a
mov cl, byte [eax + 0x29]
test cl, cl
je 0x4a3f6a
cmp dl, cl
je 0x4a3f6a
mov byte [esp + 0x88], 0
mov cx, word [eax + 0x2c]
add word [esp + 0x98], cx
mov dx, word [eax + 0x2e]
add word [esp + 0x84], dx
mov cx, word [eax + 0x30]
add word [esp + 0x18], cx
mov dx, word [eax + 0x36]
add word [esp + 0x58], dx
mov cx, word [eax + 0x38]
mov dx, word [eax + 0x3a]
add word [esp + 0x54], dx
add word [esp + 0x5c], cx
mov cx, word [eax + 0x3c]
mov dx, word [eax + 0x3e]
add word [esp + 0x6c], dx
add word [esp + 0x60], cx
mov cx, word [eax + 0x40]
mov dx, word [eax + 0x42]
add word [esp + 0x70], dx
mov dx, word [eax + 0x46]
add word [esp + 0x64], cx
mov cx, word [eax + 0x44]
add word [esp + 0x7c], dx
mov dl, byte [esp + 0x3f]
add word [esp + 0x68], cx
mov cl, byte [eax + 0x48]
add bp, word [eax + 0x32]
add di, word [eax + 0x34]
add dl, cl
mov byte [esp + 0x3f], dl
movzx dx, byte [eax + 0x49]
add dword [esp + 0x50], edx
inc esi
cmp esi, 6
jl 0x4a3d72
mov bl, byte [esp + 0x930]
mov ecx, dword [esp + 0x92c]
mov edx, dword [esp + 0x93c]
mov word [esp + 0x38], di
mov edi, dword [esp + 0x938]
mov word [esp + 0x74], bp
mov ebp, dword [esp + 0x24]
cmp byte [esp + 0x3e], 5
mov dword [esp + 0x10], 1
mov esi, 2
jne 0x4a4046
mov dword [esp + 0x10], esi
mov al, byte [esp + 0x88]
test al, al
je 0x4a4055
inc dword [esp + 0x10]
cmp word [esp + 0x58], 0
je 0x4a4061
inc dword [esp + 0x10]
cmp word [esp + 0x5c], 0
je 0x4a406d
inc dword [esp + 0x10]
cmp word [esp + 0x54], 0
je 0x4a4079
inc dword [esp + 0x10]
cmp word [esp + 0x60], 0
je 0x4a4085
inc dword [esp + 0x10]
cmp word [esp + 0x6c], 0
je 0x4a4091
inc dword [esp + 0x10]
cmp word [esp + 0x64], 0
je 0x4a409d
inc dword [esp + 0x10]
cmp word [esp + 0x70], 0
je 0x4a40a9
inc dword [esp + 0x10]
cmp word [esp + 0x68], 0
je 0x4a40b5
inc dword [esp + 0x10]
cmp word [esp + 0x7c], 0
je 0x4a40c1
inc dword [esp + 0x10]
mov al, byte [esp + 0x3f]
test al, al
je 0x4a40cd
inc dword [esp + 0x10]
cmp word [esp + 0x50], 0
je 0x4a40d9
inc dword [esp + 0x10]
test ecx, ecx
je 0x4a4139
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x4a40e8
inc dword [esp + 0x10]
mov ecx, 0x8655e8
call fcn.004cbca0
cmp eax, 1
jne case.0x4a4183.5
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov al, byte [eax + 4]
inc edx
cmp al, 0x1e
mov dword [esp + 0x10], edx
je 0x4a4113
cmp al, 0x5f
jne 0x4a4117
add dword [esp + 0x10], esi
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x8655e8
call fcn.004d1930
test eax, eax
jne case.0x4a4183.5
inc dword [esp + 0x10]
jmp case.0x4a4183.5
cmp edx, 3
je 0x4a416d
cmp edx, 4
je 0x4a416d
cmp dword [0x868dd4], 0x65
jne 0x4a415a
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x4a4177
mov eax, dword [esp + 0x10]
inc eax
jmp 0x4a4173
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x4a4177
cmp edx, 0xb
je 0x4a4177
mov eax, dword [esp + 0x10]
inc eax
jmp 0x4a4173
mov eax, dword [esp + 0x10]
add eax, esi
mov dword [esp + 0x10], eax
lea eax, [edx - 1]
cmp eax, 0xa
ja case.default.0x4a4183
jmp dword [eax*4 + 0x4a73c8]
lea edx, [edi + edi*4]
lea eax, [edx*8 + 0x22013c0]
jmp 0x4a42cd
lea ecx, [edi + edi*4]
lea edx, [ecx*8 + 0x86db78]
mov dword [esp + 0x20], edx
jmp case.0x4a4183.5
lea eax, [edi + edi*4]
lea ecx, [eax*8 + 0x86dcb8]
mov dword [esp + 0x20], ecx
jmp case.0x4a4183.5
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21fe1c0]
movzx eax, byte [eax + 0x21fe1c1]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*8]
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 0x8666e8]
mov dword [esp + 0x20], edx
jmp case.0x4a4183.5
movzx eax, bl
lea eax, [eax + eax*4]
lea ecx, [eax*8 + 0x21fe2bc]
mov dword [esp + 0x20], ecx
jmp case.0x4a4183.5
mov edx, dword [0x71cfb0]
mov eax, dword [edx]
mov eax, dword [eax + 0x26f4]
test eax, eax
je case.0x4a4183.5
mov eax, dword [eax + 0x1e50]
add eax, 0xc
jmp 0x4a42cd
mov eax, dword [0x864d64]
test eax, eax
je case.0x4a4183.5
add eax, 0x4214
jmp 0x4a42cd
movzx eax, byte [esp + 0x934]
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 0x21fdf2c]
mov dword [esp + 0x20], edx
jmp case.0x4a4183.5
mov eax, dword [0x71cfb0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x26f8]
test ecx, ecx
je case.0x4a4183.5
call fcn.004af940
jmp 0x4a42cd
mov ecx, dword [0x8655b0]
test ecx, ecx
je case.0x4a4183.5
call fcn.004a94c0
jmp 0x4a42cd
cmp edi, 0xffffffff
je 0x4a42b2
cmp edi, 0xf0
jge 0x4a429a
lea edx, [edi + edi*4]
lea eax, [edx*8 + 0x86b5f4]
jmp 0x4a42cd
cmp edi, 0x1e0
jge case.0x4a4183.5
lea ecx, [edi + edi*4]
lea edx, [ecx*8 + 0x21fc7f0]
mov dword [esp + 0x20], edx
jmp case.0x4a4183.5
movzx ecx, byte [esp + 0x934]
movzx eax, bl
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
lea edx, [eax + eax*4]
lea eax, [edx*8 + 0x8666e8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x48]
mov al, byte [ecx + 4]
cmp al, 0x19
je 0x4a430c
cmp al, 0x2c
je 0x4a430c
cmp al, 0x26
je 0x4a430c
cmp al, 0x29
je 0x4a430c
cmp al, 0x4e
je 0x4a430c
cmp al, 0x4f
je 0x4a430c
cmp al, 0x50
je 0x4a430c
cmp al, 0x1e
je 0x4a430c
cmp al, 0x5f
je 0x4a430c
cmp al, 0x64
je 0x4a430c
cmp al, 0x65
je 0x4a430c
cmp al, 0x66
je 0x4a430c
cmp al, 0x67
jne 0x4a4314
mov dword [esp + 0x20], 0
mov edi, dword [ebp + 4]
test edi, edi
je 0x4a43ca
mov ebx, dword [esp + 0x48]
mov eax, dword [ebx + 0x3c]
cmp eax, 0x10
lea ebp, [ebx + 0x24]
jb 0x4a4333
mov eax, dword [ebp + 4]
jmp 0x4a4336
lea eax, [ebp + 4]
mov esi, edi
mov cl, byte [eax]
mov dl, cl
cmp cl, byte [esi]
jne 0x4a435c
test dl, dl
je 0x4a4358
mov cl, byte [eax + 1]
mov dl, cl
cmp cl, byte [esi + 1]
jne 0x4a435c
add eax, 2
add esi, 2
test dl, dl
jne 0x4a4338
xor eax, eax
jmp 0x4a4361
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x4a43b6
push edi
mov ecx, ebp
call fcn.0040aef0
mov edx, dword [0x864e88]
push 0xff
push 0xff
push 0xff
push 0xffffffffffffffff
push edx
push 0
push 0
push 0
lea esi, [ebx + 0x40]
push 0
mov ecx, esi
call fcn.0052cf20
push 0xf
mov ecx, esi
call fcn.0052ce80
mov ecx, esi
call fcn.0052d2f0
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.0052dbd0
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xa4]
mov ebp, dword [esp + 0x24]
add eax, edx
mov dword [esp + 0x10], eax
cmp word [esp + 0x98], 0
je 0x4a43d9
inc dword [esp + 0x10]
mov eax, dword [esp + 0x48]
mov dl, byte [eax + 4]
cmp dl, 0x1e
jne 0x4a4453
cmp word [ebp + 0xc], 0
je 0x4a43f0
inc dword [esp + 0x10]
mov al, byte [ebp + 0xe]
test al, al
je 0x4a43fb
inc dword [esp + 0x10]
mov al, byte [ebp + 0xf]
test al, al
je 0x4a4406
inc dword [esp + 0x10]
mov al, byte [ebp + 0x10]
test al, al
je 0x4a4411
inc dword [esp + 0x10]
mov al, byte [ebp + 0x11]
test al, al
je 0x4a441c
inc dword [esp + 0x10]
mov al, byte [ebp + 0x12]
test al, al
je 0x4a4427
inc dword [esp + 0x10]
mov al, byte [ebp + 0x13]
test al, al
je 0x4a4432
inc dword [esp + 0x10]
mov al, byte [ebp + 0x14]
test al, al
je 0x4a443d
inc dword [esp + 0x10]
mov al, byte [ebp + 0x15]
test al, al
je 0x4a4448
inc dword [esp + 0x10]
cmp word [ebp + 0x16], 0
je 0x4a4453
inc dword [esp + 0x10]
cmp word [ebp + 0x34], 0
je 0x4a445e
inc dword [esp + 0x10]
cmp dl, 0x1e
je 0x4a4473
cmp dl, 0x5f
je 0x4a4473
cmp word [ebp + 0xc], 0
je 0x4a4473
inc dword [esp + 0x10]
movzx eax, byte [ebp + 0xe]
cmp eax, 5
ja case.default.0x4a447c
jmp dword [eax*4 + 0x4a73f4]
mov al, byte [0x867d8d]
test al, al
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
cmp byte [0x867d8d], 1
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
mov al, byte [0x867d8d]
test al, al
je case.default.0x4a447c
cmp al, 1
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
cmp byte [0x867d8d], 3
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
cmp byte [0x867d8d], 2
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
mov al, byte [0x867d8d]
cmp al, 3
je case.default.0x4a447c
cmp al, 2
je case.default.0x4a447c
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a44f5
mov esi, dword [esp + 0x40]
mov cl, byte [ebp + 0xf]
xor eax, eax
test cl, cl
mov cl, byte [0x867d92]
je 0x4a450d
test cl, cl
jne 0x4a450d
mov eax, 1
mov bl, byte [ebp + 0x10]
test bl, bl
je 0x4a451e
cmp cl, 1
jne 0x4a451e
mov eax, 1
mov bl, byte [ebp + 0x11]
test bl, bl
je 0x4a452f
cmp cl, 2
jne 0x4a452f
mov eax, 1
mov bl, byte [ebp + 0x12]
test bl, bl
je 0x4a4540
cmp cl, 3
jne 0x4a4540
mov eax, 1
mov bl, byte [ebp + 0x13]
test bl, bl
je 0x4a4551
cmp cl, 4
jne 0x4a4551
mov eax, 1
mov bl, byte [ebp + 0x14]
test bl, bl
je 0x4a455d
cmp cl, 5
je 0x4a4575
test eax, eax
jne 0x4a4575
xor esi, esi
mov edi, 1
mov dword [esp + 0x40], esi
mov dword [esp + 0x80], edi
jmp 0x4a458e
test esi, esi
jne 0x4a4587
mov edi, 1
mov dword [esp + 0x80], edi
jmp 0x4a458e
mov edi, dword [esp + 0x80]
mov eax, 3
nop
nop
sub eax, 0
je 0x4a45c1
dec eax
je 0x4a45ae
dec eax
jne 0x4a45d0
cmp byte [ebp + 0x15], 3
jne 0x4a45d0
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a45d4
mov al, byte [ebp + 0x15]
test al, al
je 0x4a45d0
cmp al, 1
je 0x4a45d0
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a45d4
mov al, byte [ebp + 0x15]
test al, al
je 0x4a45d0
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a45d4
test esi, esi
jne 0x4a45e4
test edi, edi
jne 0x4a45e4
mov edi, 2
mov dword [esp + 0x80], edi
cmp dl, 0x1e
je 0x4a4618
cmp dl, 0x5f
je 0x4a4618
mov ax, word [ebp + 0xc]
test ax, ax
je 0x4a4618
movzx ecx, ax
cmp dword [0x8655f8], ecx
jge 0x4a4618
xor esi, esi
test edi, edi
mov dword [esp + 0x40], esi
jne 0x4a4618
mov edi, 3
mov dword [esp + 0x80], edi
mov al, byte [ebp + 0x2a]
cmp al, 0x40
je 0x4a4625
cmp al, 0x41
jne 0x4a4642
cmp al, 0x40
mov cl, byte [0x868d94]
jne 0x4a4631
test cl, cl
je 0x4a4642
cmp al, 0x41
jne 0x4a463a
cmp cl, 1
je 0x4a4642
xor esi, esi
mov dword [esp + 0x40], esi
jmp 0x4a4646
test esi, esi
jne 0x4a4656
test edi, edi
jne 0x4a4656
mov edi, 0xb
mov dword [esp + 0x80], edi
cmp dword [esp + 0x93c], 9
je 0x4a46bf
cmp dl, 0x1e
je 0x4a46bf
cmp dl, 0x5f
je 0x4a46bf
cmp dl, 0x19
je 0x4a46bf
cmp dl, 0x2c
je 0x4a46bf
cmp dl, 0x26
je 0x4a46bf
cmp dl, 0x29
je 0x4a46bf
cmp dl, 0x4e
je 0x4a46bf
cmp dl, 0x4f
je 0x4a46bf
cmp dl, 0x50
je 0x4a46bf
cmp dl, 0x64
je 0x4a46bf
cmp dl, 0x65
je 0x4a46bf
cmp dl, 0x66
je 0x4a46bf
cmp dl, 0x67
je 0x4a46bf
cmp dl, 0x1b
je 0x4a46bf
cmp dl, 0x63
je 0x4a46bf
cmp dl, 0x1c
je 0x4a46bf
cmp dl, 0x1d
je 0x4a46bf
cmp dl, 0x5e
je 0x4a46bf
cmp dl, 0x2b
jne 0x4a46d1
mov esi, 1
xor edi, edi
mov dword [esp + 0x40], esi
mov dword [esp + 0x80], edi
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x4a46ee
test esi, esi
jne 0x4a46ee
test edi, edi
je 0x4a46ee
inc dword [esp + 0x10]
mov esi, dword [esp + 0x20]
push esi
push 0xc
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x58], 0
jne 0x4a470f
test eax, eax
je 0x4a470f
inc dword [esp + 0x10]
push esi
push 0x10
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x5c], 0
jne 0x4a472c
test eax, eax
je 0x4a472c
inc dword [esp + 0x10]
push esi
push 0xe
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x54], 0
jne 0x4a4749
test eax, eax
je 0x4a4749
inc dword [esp + 0x10]
push esi
push 0
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x60], 0
jne 0x4a4766
test eax, eax
je 0x4a4766
inc dword [esp + 0x10]
push esi
push 2
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x6c], 0
jne 0x4a4783
test eax, eax
je 0x4a4783
inc dword [esp + 0x10]
push esi
push 4
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x64], 0
jne 0x4a47a0
test eax, eax
je 0x4a47a0
inc dword [esp + 0x10]
push esi
push 6
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x70], 0
jne 0x4a47bd
test eax, eax
je 0x4a47bd
inc dword [esp + 0x10]
push esi
push 8
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x68], 0
jne 0x4a47da
test eax, eax
je 0x4a47da
inc dword [esp + 0x10]
push esi
push 0xa
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x7c], 0
jne 0x4a47f7
test eax, eax
je 0x4a47f7
inc dword [esp + 0x10]
push esi
push 0x12
mov ecx, 0x8655e8
call fcn.004cbd90
test eax, eax
je 0x4a4811
cmp eax, 0x32
jle 0x4a4811
inc dword [esp + 0x10]
mov al, byte [esp + 0x94c]
mov ebp, dword [0x709a10]
test al, al
mov eax, dword [0x71c2a4]
jne 0x4a484a
mov ecx, dword [esp + 0x940]
mov edx, dword [esp + 0x944]
mov edi, eax
sub edi, ebp
add edi, ecx
mov ecx, dword [0x71c2a8]
mov dword [esp + 0x28], edi
lea esi, [ecx + edx]
jmp 0x4a4888
mov edx, dword [esp + 0x48]
mov edi, dword [edx + 0x20]
mov edx, dword [esp + 0x940]
mov ecx, eax
sub ecx, edi
sub ecx, ebp
lea edi, [ecx + edx - 8]
mov ecx, dword [esp + 0x928]
cmp dword [ecx], 1
mov dword [esp + 0x28], edi
jne 0x4a4878
sub edi, ebp
mov dword [esp + 0x28], edi
mov edx, dword [0x71c2a8]
mov ecx, dword [esp + 0x944]
lea esi, [edx + ecx]
mov ebx, dword [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov dl, byte [ecx + 4]
add ebx, 4
imul ebx, ebx, 0xf
cmp dl, 0x1e
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
je 0x4a48d6
cmp dl, 0x5f
je 0x4a48d6
cmp dl, 0x1b
je 0x4a48d6
cmp dl, 0x63
je 0x4a48d6
cmp dl, 0x1c
je 0x4a48d6
cmp dl, 0x1d
je 0x4a48d6
mov dl, byte [esp + 0x4f]
test dl, dl
je 0x4a48d6
mov dl, byte [esp + 0x4e]
test dl, dl
je 0x4a48d6
add ebx, 0x14
mov dword [esp + 0x10], ebx
test edi, edi
jge 0x4a4912
mov dl, byte [esp + 0x94c]
test dl, dl
je 0x4a490b
mov edx, 0xfffffff8
sub edx, ebp
cmp edi, edx
jge 0x4a490b
mov ecx, dword [ecx + 0x20]
mov edx, dword [esp + 0x928]
lea edi, [ecx + eax + 0x10]
cmp dword [edx], 1
mov dword [esp + 0x28], edi
jne 0x4a4912
add edi, ebp
jmp 0x4a490e
lea edi, [eax + 8]
mov dword [esp + 0x28], edi
mov ecx, dword [esp + 0x940]
xor edx, edx
neg ecx
test ecx, ecx
setle dl
dec edx
and edx, ecx
lea eax, [edi + edx]
mov edx, dword [0x70859c]
add eax, ebp
cmp eax, edx
jle 0x4a4948
xor eax, eax
test ecx, ecx
setle al
sub edx, ebp
dec eax
and ecx, eax
add edx, ecx
mov edi, edx
mov dword [esp + 0x28], edi
test esi, esi
jge 0x4a4952
xor esi, esi
mov dword [esp + 0x14], esi
mov eax, dword [esp + 0x944]
xor ecx, ecx
neg eax
test eax, eax
setle cl
lea edx, [ebx + esi]
dec ecx
and ecx, eax
add edx, ecx
mov ecx, dword [0x7085a0]
cmp edx, ecx
jle 0x4a4988
xor edx, edx
test eax, eax
setle dl
sub ecx, ebx
dec edx
and eax, edx
add ecx, eax
mov esi, ecx
mov dword [esp + 0x14], esi
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x4a49e5
cmp byte [esp + 0x3e], 0xe
je 0x4a49e5
cmp dword [esp + 0x93c], 0x64
je 0x4a49e5
push 0
push 0xcd1d1f24
push 0xf
push 0x78
lea ecx, [esi - 0x14]
push ecx
push edi
call fcn.0050ff10
mov ecx, dword [esp + 0x60]
movzx edx, byte [ecx + 5]
movzx eax, byte [ecx + 4]
add esp, 0x18
push 1
push 1
push 1
push edx
push eax
lea edx, [esi - 0xe]
push edx
lea eax, [edi + 0x69]
push eax
push 0xffffffffffffffff
call fcn.004a3400
mov ebx, dword [esp + 0x948]
test ebx, ebx
mov dword [esp + 0x8c], 0
jne 0x4a4a29
mov ecx, dword [esp + 0x10]
mov edx, dword [0x709a10]
push ebx
push 0xcd1d1f24
push ecx
push edx
push esi
push edi
call fcn.0050ff10
add esp, 0x18
mov ebx, 0x4a17a0
mov dword [esp + 0x8c], 1
jmp 0x4a4a5d
mov ecx, dword [0x8655b0]
test ecx, ecx
je 0x4a4a46
cmp dword [esp + 0x93c], 0xb
jne 0x4a4a46
push esi
push edi
call fcn.004a94d0
jmp 0x4a4a5d
mov eax, dword [0x864d64]
mov dword [eax + 0x4250], edi
mov ecx, dword [0x864d64]
mov dword [ecx + 0x4254], esi
mov ecx, 0x2209408
call fcn.005bfb50
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0xb
xor ebp, ebp
call dword [edx + 4]
test al, al
je 0x4a4a92
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4a4a92
mov eax, dword [esp + 0x80]
test eax, eax
je 0x4a4a92
mov ebp, 1
mov eax, dword [esp + 0x48]
cmp byte [eax + 4], 0x1e
jne 0x4a4d13
push 0x143d
add edi, 0xa
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
mov eax, dword [esp + 0x48]
add esp, 0x24
inc ebp
cmp word [eax + 0xc], 0
je 0x4a4b0a
push 0x143e
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0xe]
test cl, cl
je 0x4a4b43
push 0x143f
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0xf]
test cl, cl
je 0x4a4b7c
push 0x1440
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x10]
test cl, cl
je 0x4a4bb5
push 0x1441
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x11]
test cl, cl
je 0x4a4bee
push 0x1442
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x12]
test cl, cl
je 0x4a4c27
push 0x1443
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x13]
test cl, cl
je 0x4a4c60
push 0x1444
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x14]
test cl, cl
je 0x4a4c99
push 0x1445
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
mov cl, byte [eax + 0x15]
test cl, cl
je 0x4a4cd2
push 0x1446
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
inc ebp
mov eax, dword [esp + 0x24]
cmp word [eax + 0x16], 0
je case.default.0x4a5067
push 0x1505
call fcn.0041d4a0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x38]
push ebp
push 0
push ecx
mov ecx, ebp
imul ecx, ecx, 0xf
push edx
push eax
lea edx, [ecx + esi + 0x28]
push edx
push edi
call ebx
add esp, 0x24
jmp 0x4a526e
cmp byte [esp + 0x3e], 5
jne 0x4a50e3
mov esi, dword [esp + 0x20]
push esi
push 0x12
mov ecx, 0x8655e8
xor edi, edi
call fcn.004cbd90
test eax, eax
je 0x4a4d47
cmp eax, 0x32
jg 0x4a4d47
push eax
mov ecx, 0x8655e8
call fcn.004cbf50
mov edi, eax
push esi
push 0x12
mov ecx, 0x8655e8
call fcn.004cbd90
mov esi, dword [esp + 0x24]
movzx ecx, word [esi + 0x2e]
add ecx, edi
test eax, eax
movzx eax, word [esp + 0x84]
mov dword [esp + 0x38], eax
je 0x4a4d88
add ecx, eax
push ecx
lea edx, [esp + 0x120]
push 0x6c1c54
push edx
call fcn.005cd489
add esp, 0xc
jmp 0x4a4dae
add ecx, eax
push ecx
push 0x1447
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x124]
push str._s__4d
push edx
call fcn.005cd489
add esp, 0x10
lea eax, [esp + 0x11c]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a4db8
push 0
lea ecx, [esp + 0x78]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x128]
push edx
mov ecx, 0x2209408
call fcn.00542f70
mov ax, word [esp + 0x18]
test ax, ax
jne 0x4a4e3d
cmp word [esp + 0x84], ax
jne 0x4a4e3d
movzx eax, word [esi + 0x30]
movzx ecx, word [esi + 0x2e]
add eax, edi
add ecx, eax
push ecx
lea edx, [esp + 0x424]
push str.___4d
push edx
call fcn.005cd489
lea eax, [esp + 0x42c]
add esp, 0xc
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a4e20
lea edi, [esp + 0x11c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a4e31
mov esi, edx
jmp 0x4a4e8c
movzx edx, word [esi + 0x2e]
movzx ecx, word [esi + 0x30]
movzx eax, ax
add edx, edi
add edx, ecx
mov ecx, dword [esp + 0x38]
add eax, edx
add eax, ecx
push eax
lea ecx, [esp + 0x424]
push str.___4d
push ecx
call fcn.005cd489
lea eax, [esp + 0x42c]
add esp, 0xc
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a4e73
lea edi, [esp + 0x11c]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a4e84
mov edx, dword [esp + 0x20]
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
push edx
rep movsb byte es:[edi], byte [esi]
push 0x12
mov ecx, 0x8655e8
call fcn.004cbd90
push 0x1447
mov esi, eax
call fcn.0041d4a0
add esp, 4
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a4ec0
sub eax, edx
push 0
push eax
push 0x1447
call fcn.0041d4a0
add esp, 4
push eax
mov ecx, 0x2209408
call fcn.005430a0
test esi, esi
mov esi, dword [esp + 0x28]
mov dword [esp + 0x18], eax
je 0x4a4f5c
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
push 0x1447
add esi, 0xa
lea edi, [eax + ecx + 0x28]
call fcn.0041d4a0
cmp word [esp + 0x88], 0
push eax
push ebp
push 0
je 0x4a4f55
push 0
push 0xff
push 0xff
push edi
push esi
call ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x4c]
lea edx, [esp + 0x140]
push edx
push ebp
push 0
push 0
push 0xff
push 0xff
lea edx, [eax + ecx + 0x19]
push edi
push edx
call ebx
add esp, 0x44
jmp 0x4a4fbf
push 0xff
jmp 0x4a4f1b
add esi, 0xa
cmp word [esp + 0x84], 0
je 0x4a4f91
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x11c]
push eax
mov ecx, ebp
push ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0xff
push 0xff
lea eax, [ecx + edx + 0x28]
push eax
jmp 0x4a4fb9
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x11c]
push ecx
mov edx, ebp
push ebp
imul edx, edx, 0xf
push 0
push 0xff
push 0xff
push 0xff
lea ecx, [edx + eax + 0x28]
push ecx
push esi
call ebx
add esp, 0x20
mov al, byte [esp + 0x3d]
mov edx, dword [esp + 0x24]
inc ebp
test al, al
je 0x4a505a
mov cl, byte [edx + 0x28]
add cl, al
movzx eax, cl
cmp eax, 9
ja case.default.0x4a5067
jmp dword [eax*4 + 0x4a740c]
push 0x1448
call fcn.0041d4a0
push eax
mov eax, dword [esp + 0x1c]
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0xff
push 0xff
lea ecx, [edx + eax + 0x28]
push ecx
push esi
call ebx
add esp, 0x24
jmp 0x4a526e
push 0x1449
jmp 0x4a4fed
push 0x144a
jmp 0x4a4fed
push 0x144b
jmp 0x4a4fed
push 0x144c
jmp 0x4a4fed
push 0x144d
jmp 0x4a4fed
push 0x144e
jmp 0x4a4fed
push 0x144f
jmp 0x4a4fed
push 0x1450
jmp 0x4a4fed
push 0x1451
jmp 0x4a4fed
movzx eax, byte [edx + 0x28]
cmp eax, 9
ja case.default.0x4a5067
jmp dword [eax*4 + 0x4a7434]
push 0x1448
jmp 0x4a50b2
push 0x1449
jmp 0x4a50b2
push 0x144a
jmp 0x4a50b2
push 0x144b
jmp 0x4a50b2
push 0x144c
jmp 0x4a50b2
push 0x144d
jmp 0x4a50b2
push 0x144e
jmp 0x4a50b2
push 0x144f
jmp 0x4a50b2
push 0x1450
jmp 0x4a50b2
push 0x1451
call fcn.0041d4a0
mov ecx, dword [esp + 0x18]
push eax
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0xff
push 0xff
push 0xff
lea edx, [eax + ecx + 0x28]
push edx
push esi
call ebx
add esp, 0x24
jmp 0x4a526e
mov eax, dword [esp + 0x24]
mov ax, word [eax + 0x32]
test ax, ax
je 0x4a51a6
movzx ecx, ax
push ecx
push 0x1452
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0xa4]
push str._s__d
push edx
call fcn.005cd489
add esp, 0x10
cmp word [esp + 0x74], 0
je 0x4a5178
movzx eax, word [esp + 0x74]
push eax
lea ecx, [esp + 0x424]
push str.__3d
push ecx
call fcn.005cd489
lea eax, [esp + 0x42c]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5147
lea edi, [esp + 0x9c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a5158
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x9c]
push edx
mov edx, dword [esp + 0x34]
push ebp
push 0
push eax
mov eax, ebp
imul eax, eax, 0xf
push ecx
push edx
lea ecx, [eax + esi + 0x28]
push ecx
lea edx, [edi + 0xa]
push edx
call ebx
add esp, 0x20
inc ebp
mov eax, dword [esp + 0x24]
mov ax, word [eax + 0x34]
test ax, ax
je case.default.0x4a5067
movzx ecx, ax
push ecx
push 0x1453
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0xa4]
push str._s__d
push edx
call fcn.005cd489
add esp, 0x10
cmp word [esp + 0x38], 0
je 0x4a5241
movzx eax, word [esp + 0x38]
push eax
lea ecx, [esp + 0x424]
push str.__3d
push ecx
call fcn.005cd489
lea eax, [esp + 0x42c]
add esp, 0xc
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5210
lea edi, [esp + 0x9c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a5221
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edi, dword [esp + 0x28]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
lea edx, [esp + 0x9c]
push edx
mov edx, dword [esp + 0x34]
push ebp
push 0
push eax
mov eax, ebp
imul eax, eax, 0xf
push ecx
push edx
lea ecx, [eax + esi + 0x28]
push ecx
add edi, 0xa
push edi
call ebx
add esp, 0x20
inc ebp
mov edx, dword [esp + 0x24]
cmp byte [edx + 0x2a], 0x2e
je 0x4a52d0
mov al, byte [esp + 0x88]
test al, al
je 0x4a52d0
mov ecx, dword [esp + 0x88]
push 0x64
lea eax, [esp + 0xa0]
push eax
push ecx
call fcn.0041e240
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x34]
lea edx, [esp + 0xa8]
push edx
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0xff
lea edx, [eax + ecx + 0x28]
push 0xff
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x2c
inc ebp
jmp 0x4a52d4
mov esi, dword [esp + 0x28]
xor eax, eax
cmp word [esp + 0x58], 0
mov byte [esp + 0x220], 0
mov ecx, 0x7f
lea edi, [esp + 0x221]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x4a5546
mov ecx, dword [esp + 0x20]
push ecx
push 0xc
mov ecx, 0x8655e8
call fcn.004cbd90
mov edi, eax
cmp dword [0x708598], 1
movzx eax, word [esp + 0x58]
mov dword [esp + 0x18], edi
push eax
jne 0x4a5423
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x228]
push str._s_HP__d
push edx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5352
sub eax, edx
push 0
push eax
lea eax, [esp + 0x228]
push eax
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a53ba
movzx eax, word [esp + 0x58]
push eax
push 0x1458
call fcn.0041d4a0
mov edx, dword [esp + 0x1c]
add esp, 4
push eax
push str._s_HP__d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push edi
push edi
push 0xff
lea eax, [ecx + edx + 0x28]
push 0xff
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
jmp 0x4a5545
mov eax, dword [esp + 0x14]
mov edx, ebp
imul edx, edx, 0xf
lea edi, [edx + eax + 0x28]
movzx eax, word [esp + 0x58]
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_HP__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea ecx, [esi + 0xa]
push edi
push ecx
call ebx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push edx
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [esi + eax + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
jmp 0x4a5545
push 0x1a0
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s_s__d
push edx
call fcn.005cd489
lea eax, [esp + 0x234]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5460
sub eax, edx
push 0
push eax
lea eax, [esp + 0x228]
push eax
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a54d3
movzx eax, word [esp + 0x58]
push eax
push 0x1a0
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
mov edx, dword [esp + 0x20]
add esp, 4
push eax
push str._s_s__d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push edi
push edi
push 0xff
lea eax, [ecx + edx + 0x28]
push 0xff
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x2c
jmp 0x4a5545
mov eax, dword [esp + 0x14]
mov edx, ebp
imul edx, edx, 0xf
lea edi, [edx + eax + 0x28]
movzx eax, word [esp + 0x58]
push eax
push 0x1a0
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea ecx, [esi + 0xa]
push edi
push ecx
call ebx
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
push edx
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [esi + eax + 0xf]
push edi
push ecx
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x5c], 0
je 0x4a57a6
mov edx, dword [esp + 0x20]
push edx
push 0x10
mov ecx, 0x8655e8
call fcn.004cbd90
mov edi, eax
cmp dword [0x708598], 1
movzx eax, word [esp + 0x5c]
mov dword [esp + 0x18], edi
push eax
jne 0x4a5681
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea eax, [esp + 0x228]
push str._s_SP__d
push eax
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a55b0
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x228]
push ecx
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a5618
movzx eax, word [esp + 0x5c]
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push str._s_SP__d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push edi
push edi
push 0xff
lea ecx, [edx + eax + 0x28]
push 0xff
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
jmp 0x4a57a5
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea edi, [eax + ecx + 0x28]
movzx eax, word [esp + 0x5c]
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_SP__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea edx, [esi + 0xa]
push edi
push edx
call ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
push eax
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [esi + ecx + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
jmp 0x4a57a5
push 0x1a1
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s_s__d
push eax
call fcn.005cd489
lea eax, [esp + 0x234]
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a56c0
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x228]
push ecx
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a5733
movzx eax, word [esp + 0x5c]
push eax
push 0x1a1
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
mov eax, dword [esp + 0x20]
push str._s_s__d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push edi
push edi
push 0xff
lea ecx, [edx + eax + 0x28]
push 0xff
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x2c
jmp 0x4a57a5
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea edi, [eax + ecx + 0x28]
movzx eax, word [esp + 0x5c]
push eax
push 0x1a1
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea edx, [esi + 0xa]
push edi
push edx
call ebx
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x3c]
push eax
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [esi + ecx + 0xf]
push edi
push edx
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x54], 0
je 0x4a59ec
mov eax, dword [esp + 0x20]
push eax
push 0xe
mov ecx, 0x8655e8
call fcn.004cbd90
mov edi, eax
cmp dword [0x708598], 1
movzx eax, word [esp + 0x54]
mov dword [esp + 0x18], edi
push eax
jne 0x4a58d6
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea ecx, [esp + 0x228]
push str._s_MP__d
push ecx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5810
sub eax, edx
push 0
push eax
lea edx, [esp + 0x228]
push edx
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1458
jne 0x4a5878
call fcn.0041d4a0
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push str._s_MP__d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push edi
push edi
push 0xff
lea edx, [eax + ecx + 0x28]
push 0xff
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
jmp 0x4a59eb
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041d4a0
add esp, 4
push eax
push str._s_MP__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea eax, [esi + 0xa]
push edi
push eax
call ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
push ecx
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea eax, [esi + edx + 0xf]
push edi
push eax
call ebx
add esp, 0x4c
jmp 0x4a59eb
push 0x1a2
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s_s__d
push ecx
call fcn.005cd489
lea eax, [esp + 0x234]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5911
sub eax, edx
push 0
push eax
lea edx, [esp + 0x228]
push edx
mov ecx, 0x2209408
call fcn.005430a0
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1a2
jne 0x4a5984
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
mov ecx, dword [esp + 0x20]
add esp, 4
push eax
push str._s_s__d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push edi
push edi
push 0xff
lea edx, [eax + ecx + 0x28]
push 0xff
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x2c
jmp 0x4a59eb
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
push 0
push 0
push 0xff
push 0xff
lea eax, [esi + 0xa]
push edi
push eax
call ebx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x3c]
push ecx
push 0x6c1c2c
push ebp
push 0
push 0
push 0x87
push 0xff
lea eax, [esi + edx + 0xf]
push edi
push eax
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x60], 0
je 0x4a5b11
movzx eax, word [esp + 0x60]
push eax
push 0x1da
call fcn.0041d4a0
add esp, 4
push eax
lea ecx, [esp + 0x228]
push str._s__3d
push ecx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edx, [eax + 1]
jmp 0x4a5a30
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5a30
sub eax, edx
push 0
push eax
lea edx, [esp + 0x228]
push edx
mov ecx, 0x2209408
call fcn.005430a0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
push eax
push 0
mov ecx, 0x8655e8
call fcn.004cbd90
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a5aac
movzx eax, word [esp + 0x60]
push eax
push 0x1da
call fcn.0041d4a0
mov edx, dword [esp + 0x1c]
add esp, 4
push eax
push str._s__3d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0xff
lea eax, [ecx + edx + 0x28]
push 0xff
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
jmp 0x4a5b10
mov eax, dword [esp + 0x14]
mov edx, ebp
imul edx, edx, 0xf
lea edi, [edx + eax + 0x28]
movzx eax, word [esp + 0x60]
push eax
push 0x1da
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
lea ecx, [esi + 0xa]
push edi
push ecx
call ebx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push edx
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [esi + eax + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x6c], 0
je 0x4a5c31
movzx eax, word [esp + 0x6c]
push eax
push 0x1db
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x228]
push str._s__3d
push edx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5b50
sub eax, edi
push 0
push eax
lea eax, [esp + 0x228]
push eax
mov ecx, 0x2209408
call fcn.005430a0
mov ecx, dword [esp + 0x20]
push ecx
push 2
mov ecx, 0x8655e8
mov dword [esp + 0x18], eax
call fcn.004cbd90
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a5bcc
movzx eax, word [esp + 0x6c]
push eax
push 0x1db
call fcn.0041d4a0
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push str._s__3d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0xff
lea ecx, [edx + eax + 0x28]
push 0xff
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
jmp 0x4a5c30
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea edi, [eax + ecx + 0x28]
movzx eax, word [esp + 0x6c]
push eax
push 0x1db
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
lea edx, [esi + 0xa]
push edi
push edx
call ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
push eax
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [esi + ecx + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x64], 0
je 0x4a5d46
movzx eax, word [esp + 0x64]
push eax
push 0x1dc
call fcn.0041d4a0
add esp, 4
push eax
lea eax, [esp + 0x228]
push str._s__3d
push eax
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5c70
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x228]
push ecx
mov ecx, 0x2209408
call fcn.005430a0
mov edx, dword [esp + 0x20]
push edx
push 4
mov ecx, 0x8655e8
mov dword [esp + 0x18], eax
call fcn.004cbd90
mov dword [esp + 0x18], eax
test eax, eax
movzx eax, word [esp + 0x64]
push eax
push 0x1dc
jne 0x4a5cec
call fcn.0041d4a0
mov ecx, dword [esp + 0x1c]
add esp, 4
push eax
push str._s__3d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0xff
lea edx, [eax + ecx + 0x28]
push 0xff
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
jmp 0x4a5d45
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
lea eax, [esi + 0xa]
push edi
push eax
call ebx
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
push ecx
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
lea eax, [esi + edx + 0xf]
push edi
push eax
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x70], 0
je 0x4a5e66
movzx eax, word [esp + 0x70]
push eax
push 0x1dd
call fcn.0041d4a0
add esp, 4
push eax
lea ecx, [esp + 0x228]
push str._s__3d
push ecx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5d85
push 0
sub eax, edi
push eax
lea edx, [esp + 0x228]
push edx
mov ecx, 0x2209408
call fcn.005430a0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
push eax
push 6
mov ecx, 0x8655e8
call fcn.004cbd90
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a5e01
movzx eax, word [esp + 0x70]
push eax
push 0x1dd
call fcn.0041d4a0
mov edx, dword [esp + 0x1c]
add esp, 4
push eax
push str._s__3d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0xff
lea eax, [ecx + edx + 0x28]
push 0xff
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
jmp 0x4a5e65
mov eax, dword [esp + 0x14]
mov edx, ebp
imul edx, edx, 0xf
lea edi, [edx + eax + 0x28]
movzx eax, word [esp + 0x70]
push eax
push 0x1dd
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
lea ecx, [esi + 0xa]
push edi
push ecx
call ebx
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push edx
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [esi + eax + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x68], 0
je 0x4a5f86
movzx eax, word [esp + 0x68]
push eax
push 0x1de
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x228]
push str._s__3d
push edx
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5ea5
sub eax, edi
push 0
push eax
lea eax, [esp + 0x228]
push eax
mov ecx, 0x2209408
call fcn.005430a0
mov ecx, dword [esp + 0x20]
push ecx
push 8
mov ecx, 0x8655e8
mov dword [esp + 0x18], eax
call fcn.004cbd90
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a5f21
movzx eax, word [esp + 0x68]
push eax
push 0x1de
call fcn.0041d4a0
add esp, 4
push eax
mov eax, dword [esp + 0x1c]
push str._s__3d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0xff
lea ecx, [edx + eax + 0x28]
push 0xff
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
jmp 0x4a5f85
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea edi, [eax + ecx + 0x28]
movzx eax, word [esp + 0x68]
push eax
push 0x1de
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
lea edx, [esi + 0xa]
push edi
push edx
call ebx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
push eax
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [esi + ecx + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x7c], 0
je 0x4a60b5
movzx eax, word [esp + 0x7c]
push eax
push 0x1df
call fcn.0041d4a0
add esp, 4
push eax
lea eax, [esp + 0x228]
push str._s__3d
push eax
call fcn.005cd489
lea eax, [esp + 0x230]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a5fc5
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x228]
push ecx
mov ecx, 0x2209408
call fcn.005430a0
mov edx, dword [esp + 0x20]
push edx
push 0xa
mov ecx, 0x8655e8
mov dword [esp + 0x18], eax
call fcn.004cbd90
test eax, eax
mov dword [esp + 0x38], eax
jne 0x4a6042
movzx eax, word [esp + 0x7c]
push eax
push 0x1df
call fcn.0041d4a0
mov edi, dword [esp + 0x1c]
add esp, 4
push eax
push str._s__3d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0xff
push 0xff
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
inc ebp
jmp 0x4a60b9
mov edi, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea ecx, [eax + edi + 0x28]
movzx eax, word [esp + 0x7c]
push eax
push 0x1df
mov dword [esp + 0x20], ecx
call fcn.0041d4a0
mov edx, dword [esp + 0x20]
add esp, 4
push eax
push str._s__3d
push ebp
push 0
push 0
push 0xff
push 0xff
push edx
lea eax, [esi + 0xa]
push eax
call ebx
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x38]
push ecx
push str._3d
push ebp
push 0
push 0
push 0x87
push 0xff
push edx
lea ecx, [esi + eax + 0xf]
push ecx
call ebx
add esp, 0x4c
inc ebp
jmp 0x4a60b9
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
push edx
push 0xc
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x58], 0
jne 0x4a6163
test eax, eax
je 0x4a6163
cmp dword [0x708598], 1
push eax
jne 0x4a611f
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_HP__d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
jmp 0x4a6162
push 0x1a0
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x2c
inc ebp
mov eax, dword [esp + 0x20]
push eax
push 0x10
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x5c], 0
jne 0x4a620d
test eax, eax
je 0x4a620d
cmp dword [0x708598], 1
push eax
jne 0x4a61c9
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_SP__d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + edi + 0x28]
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
jmp 0x4a620c
push 0x1a1
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + edi + 0x28]
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x2c
inc ebp
mov ecx, dword [esp + 0x20]
push ecx
push 0xe
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x54], 0
jne 0x4a62b7
test eax, eax
je 0x4a62b7
cmp dword [0x708598], 1
push eax
jne 0x4a6273
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_MP__d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + edi + 0x28]
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
jmp 0x4a62b6
push 0x1a2
call fcn.0041d4a0
add esp, 4
push eax
push 0x1458
call fcn.0041d4a0
add esp, 4
push eax
push str._s_s__d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + edi + 0x28]
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x2c
inc ebp
mov edx, dword [esp + 0x20]
push edx
push 0
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x60], 0
jne 0x4a630b
test eax, eax
je 0x4a630b
push eax
push 0x1da
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
inc ebp
mov eax, dword [esp + 0x20]
push eax
push 2
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x6c], 0
jne 0x4a635f
test eax, eax
je 0x4a635f
push eax
push 0x1db
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + edi + 0x28]
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
inc ebp
mov ecx, dword [esp + 0x20]
push ecx
push 4
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x64], 0
jne 0x4a63b3
test eax, eax
je 0x4a63b3
push eax
push 0x1dc
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + edi + 0x28]
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
inc ebp
mov edx, dword [esp + 0x20]
push edx
push 6
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x70], 0
jne 0x4a6407
test eax, eax
je 0x4a6407
push eax
push 0x1dd
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov eax, ebp
imul eax, eax, 0xf
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
inc ebp
mov eax, dword [esp + 0x20]
push eax
push 8
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x68], 0
jne 0x4a645b
test eax, eax
je 0x4a645b
push eax
push 0x1de
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov ecx, ebp
imul ecx, ecx, 0xf
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + edi + 0x28]
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
inc ebp
mov ecx, dword [esp + 0x20]
push ecx
push 0xa
mov ecx, 0x8655e8
call fcn.004cbd90
cmp word [esp + 0x7c], 0
jne 0x4a64af
test eax, eax
je 0x4a64af
push eax
push 0x1df
call fcn.0041d4a0
add esp, 4
push eax
push str._s__3d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + edi + 0x28]
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
inc ebp
mov al, byte [esp + 0x3f]
test al, al
je 0x4a64e5
push 0x1459
call fcn.0041d4a0
push eax
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0xff
push 0xff
lea eax, [edx + edi + 0x28]
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x24
inc ebp
cmp word [esp + 0x50], 0
je 0x4a6578
mov byte [esp + 0x524], 0
xor eax, eax
mov ecx, 0xff
lea edi, [esp + 0x525]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1e5
stosb byte es:[edi], al
call fcn.0041d4a0
add esp, 4
push eax
push 0x13da
call fcn.0041d4a0
add esp, 4
push eax
lea edx, [esp + 0x52c]
push str._s__s
push edx
call fcn.005cd489
movzx eax, word [esp + 0x60]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x538]
push ecx
push str._s__d
push ebp
mov edx, ebp
imul edx, edx, 0xf
push 0
push 0
push 0xff
lea ecx, [edx + eax + 0x28]
push 0xff
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
mov edi, dword [esp + 0x4c]
add esp, 0x38
inc ebp
mov eax, dword [esp + 0x48]
mov al, byte [eax + 4]
cmp al, 0x1e
je 0x4a65fc
cmp al, 0x5f
je 0x4a65fc
mov eax, dword [esp + 0x24]
cmp word [eax + 0xc], 0
je 0x4a65fc
mov edx, dword [0x8655f8]
mov byte [esp + 0x30], 0xff
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x34], 0xff
movzx ecx, word [eax + 0xc]
cmp edx, ecx
jge 0x4a65be
mov byte [esp + 0x30], 0xff
mov byte [esp + 0x2c], 0
mov byte [esp + 0x34], 0
movzx edx, word [eax + 0xc]
push edx
push 0x145b
call fcn.0041d4a0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x3c]
push str._s__5d
push ebp
push 0
push eax
mov eax, ebp
imul eax, eax, 0xf
push ecx
push edx
lea ecx, [eax + edi + 0x28]
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
inc ebp
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x4a6681
cmp byte [esp + 0x3e], 0xe
je 0x4a6681
mov al, byte [esp + 0x94c]
test al, al
je 0x4a6644
push 0x198d
call fcn.0041d4a0
push eax
push 0x6be170
push 0
push 0x40
push 0xff
push 0
add edi, 0xfffffff4
push edi
lea ecx, [esi + 9]
push ecx
jmp 0x4a6674
cmp dword [esp + 0x93c], 0x64
je 0x4a6681
push 0x198e
call fcn.0041d4a0
push eax
push 0x6be170
push 0
push 0
push 0x80
push 0xff
add edi, 0xfffffff4
push edi
lea edx, [esi + 9]
push edx
push 0x2209408
call fcn.00541930
add esp, 0x28
mov eax, dword [esp + 0x24]
mov byte [esp + 0x30], 0xff
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x34], 0xff
mov cl, byte [eax + 0x18]
mov al, 0xc8
mov byte [esp + 0x3d], cl
mov byte [esp + 0xae], al
mov byte [esp + 0xaf], al
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0xba]
mov byte [esp + 0x9c], 0xff
mov byte [esp + 0x9d], 0xff
mov byte [esp + 0x9e], 0xff
mov byte [esp + 0x9f], 0x80
mov byte [esp + 0xa0], 0xff
mov byte [esp + 0xa1], 0xff
mov byte [esp + 0xa2], 0
mov byte [esp + 0xa3], 0x80
mov byte [esp + 0xa4], 0xff
mov byte [esp + 0xa5], 0
mov byte [esp + 0xa6], 0xff
mov byte [esp + 0xa7], 0x40
mov byte [esp + 0xa8], 0xff
mov byte [esp + 0xa9], 0xff
mov byte [esp + 0xaa], 0
mov byte [esp + 0xab], 0xff
mov byte [esp + 0xac], 0x80
mov byte [esp + 0xad], 0
mov byte [esp + 0xb0], 0xff
mov byte [esp + 0xb1], 0xff
mov byte [esp + 0xb2], 0
mov byte [esp + 0xb3], 0xff
mov byte [esp + 0xb4], 0x80
mov byte [esp + 0xb5], 0
mov byte [esp + 0xb6], 0xff
mov byte [esp + 0xb7], 0xff
mov byte [esp + 0xb8], 0x80
mov byte [esp + 0xb9], 0xff
rep stosd dword es:[edi], eax
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x4a697f
movzx eax, byte [esp + 0x3d]
lea eax, [eax + eax*2]
mov cl, byte [esp + eax + 0x9c]
mov dl, byte [esp + eax + 0x9d]
mov al, byte [esp + eax + 0x9e]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x8c]
test eax, eax
mov byte [esp + 0x38], cl
mov byte [esp + 0x50], dl
je 0x4a6870
mov ecx, dword [esp + 0x20]
push ecx
push 0x12
mov ecx, 0x8655e8
call fcn.004cbd90
test eax, eax
mov edx, dword [esp + 0x24]
lea ecx, [esp + 0x9c]
je 0x4a6826
cmp eax, 0x32
jg 0x4a6821
push eax
mov eax, dword [edx]
push eax
push 0x6bfcbc
push ecx
call fcn.005cd489
add esp, 0x10
jmp 0x4a6837
add eax, 0xffffffce
jmp 0x4a680d
mov eax, dword [edx]
push eax
push 0x6be170
push ecx
call fcn.005cd489
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0x9c]
push edx
mov edx, dword [esp + 0x3c]
push 0x6be170
push 0
push eax
push ecx
push edx
lea eax, [edi + 0xa]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x2209408
call fcn.00541930
add esp, 0x24
jmp 0x4a6874
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x3e], 5
je 0x4a6902
mov edx, dword [esp + 0x20]
push edx
push 0x12
mov ecx, 0x8655e8
call fcn.004cbd90
test eax, eax
je 0x4a6902
cmp eax, 0x32
jle 0x4a6902
lea eax, [eax + eax*4 - 0xfa]
push eax
push 0x1e5
call fcn.0041d4a0
add esp, 4
push eax
push 0x13da
call fcn.0041d4a0
add esp, 4
push eax
lea ecx, [esp + 0xa8]
push 0x6bfcb0
push ecx
call fcn.005cd489
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x64]
lea edx, [esp + 0xb0]
push edx
mov edx, dword [esp + 0x50]
push 0x6be170
push 0
push eax
push ecx
push edx
lea eax, [edi + 0x19]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x2209408
call fcn.00541930
add esp, 0x38
mov eax, dword [esp + 0x40]
test eax, eax
jne case.default.0x4a6927
mov eax, dword [esp + 0x80]
test eax, eax
je case.default.0x4a6927
dec eax
cmp eax, 0xa
ja case.default.0x4a6927
jmp dword [eax*4 + 0x4a745c]
push 0x1507
jmp 0x4a6956
push 0x1508
jmp 0x4a6956
push 0x1509
jmp 0x4a6956
push 0x150a
jmp 0x4a6956
push 0x150b
jmp 0x4a6956
push 0x152e
call fcn.0041d4a0
add esp, 4
test eax, eax
je case.default.0x4a6927
push eax
push 0xffffffffffffffff
push 0
push 0
push 0
push 0xff
lea edx, [edi + 0x28]
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x20
jmp 0x4a69de
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4a6997
mov eax, dword [esp + 0x80]
test eax, eax
mov byte [esp + 0x50], 0
jne 0x4a699c
mov byte [esp + 0x50], 0xff
mov eax, dword [esp + 0x8c]
test eax, eax
je case.default.0x4a6927
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x14]
push edx
push 0x6be170
push 0
push 0
push eax
push 0xff
add ecx, 0xa
push ecx
lea edx, [esi + 0xa]
push edx
push 0x2209408
call fcn.00541930
add esp, 0x24
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x93c]
cmp ecx, 3
jne 0x4a6b37
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x4c]
push 0
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ecx
push eax
mov ecx, 0x8655e8
call fcn.004ce790
lea ecx, [esp + 0x11c]
push ecx
push 0x1462
call fcn.0041d4a0
add esp, 4
push eax
push str._s_:__s
push ebp
lea edx, [ebp + 3]
imul edx, edx, 0xf
push 0
push 0x80
push 0x80
push 0x80
add edx, edi
push edx
lea eax, [esi + 0xa]
push eax
call ebx
movzx eax, byte [esp + 0x958]
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21fe1c0]
movzx edx, byte [eax + 0x21fe1c1]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
lea ecx, [ecx + ecx*4]
movzx edx, byte [ecx*8 + 0x8666df]
imul edx, dword [eax + 0x21fe1c4]
add esp, 0x28
push 0
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0x8655e8
inc ebp
mov dword [esp + 0x44], edx
call fcn.004ce790
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a6afc
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x78]
push ecx
lea edx, [esp + 0x58]
push edx
lea eax, [esp + 0x128]
push eax
mov ecx, 0x8655e8
call fcn.004cb530
lea ecx, [esp + 0x11c]
push ecx
push 0x1463
call fcn.0041d4a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x58]
add esp, 4
push eax
mov eax, dword [esp + 0x7c]
jmp 0x4a71a1
lea eax, [esp + 0x11c]
push eax
push 0x1463
call fcn.0041d4a0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x38]
push str._s_:__s
push ebp
push 0
push ecx
lea ecx, [ebp + 3]
imul ecx, ecx, 0xf
push edx
push eax
add ecx, edi
push ecx
jmp 0x4a71b5
cmp ecx, 4
jne 0x4a6c90
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x4c]
push 0
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, 0x8655e8
mov dword [esp + 0x24], eax
call fcn.004ce790
lea eax, [esp + 0x11c]
push eax
push 0x1462
call fcn.0041d4a0
add esp, 4
push eax
push str._s_:__s
push ebp
lea ecx, [ebp + 3]
imul ecx, ecx, 0xf
push 0
push 0x80
push 0x80
push 0x80
add ecx, edi
push ecx
lea eax, [esi + 0xa]
push eax
call ebx
movzx eax, byte [esp + 0x958]
lea eax, [eax + eax*4]
shl eax, 3
movzx edx, byte [eax + 0x21fe2ae]
imul edx, dword [eax + 0x21fe2b8]
add esp, 0x28
mov dword [esp + 0x18], eax
push 0
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, 0x8655e8
inc ebp
mov dword [esp + 0x44], edx
call fcn.004ce790
mov eax, dword [esp + 0x18]
mov edx, dword [0x8655f0]
cmp edx, dword [eax + 0x21fe2b8]
jae 0x4a6c1f
lea ecx, [esp + 0x11c]
push ecx
push 0x1464
call fcn.0041d4a0
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a71ac
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a717f
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x78]
push edx
lea eax, [esp + 0x58]
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, 0x8655e8
call fcn.004cb530
lea edx, [esp + 0x11c]
push edx
push 0x1464
call fcn.0041d4a0
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x58]
add esp, 4
push eax
mov eax, dword [esp + 0x20]
push str._s_:__s
push ebp
push 0
push eax
lea eax, [ebp + 3]
imul eax, eax, 0xf
push ecx
push edx
add eax, edi
push eax
jmp 0x4a71b5
mov eax, dword [esp + 0x92c]
test eax, eax
je 0x4a7026
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4a71bf
mov ecx, 0x8655e8
call fcn.004cbca0
cmp eax, 1
jne 0x4a6f43
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x86deb0
call fcn.0047a3d0
test eax, eax
je 0x4a6f1d
mov al, byte [eax + 4]
fld qword [0x6bb5f0]
cmp al, 1
fstp qword [esp + 0x74]
jne 0x4a6cf2
push 0x101
jmp 0x4a6d3b
cmp al, 2
jne 0x4a6d12
push 0x201
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x8655e8
call fcn.004d0c50
mov edx, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x4a6d50
cmp al, 3
jne 0x4a6d32
push 0x301
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x8655e8
call fcn.004d0c50
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
jmp 0x4a6d50
cmp al, 4
jne 0x4a6d50
push 0x401
lea edx, [esp + 0x1c]
mov ecx, 0x8655e8
push edx
call fcn.004d0c50
mov eax, dword [eax]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x1a]
mov edx, dword [esp + 0x18]
push ecx
push edx
mov ecx, 0x8655e8
call fcn.004cbc20
test eax, eax
je 0x4a6d7e
movzx eax, byte [eax + 4]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x6c1560]
fstp qword [esp + 0x74]
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x4c]
test eax, eax
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
mov dword [esp + 0x18], eax
jge 0x4a6d9b
fadd qword [0x6bb5e8]
fmul qword [esp + 0x74]
call fcn.005cd414
mov ecx, dword [esp + 0x18]
sub ecx, eax
push 0
lea edx, [esp + 0x120]
push edx
lea eax, [esp + 0x20]
mov dword [esp + 0x20], ecx
push eax
mov ecx, 0x8655e8
call fcn.004ce790
mov ecx, dword [0x86de2c]
push ecx
mov ecx, 0x8655e8
call fcn.004d1930
test eax, eax
jne 0x4a6e0b
push 0x1f6e
call fcn.0041d4a0
push eax
push 0x6be170
push ebp
lea edx, [ebp + 3]
imul edx, edx, 0xf
push 0
push 0
push 0
push 0xff
add edx, edi
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
inc ebp
mov ecx, dword [esp + 0x24]
mov eax, dword [ecx + 0x4c]
test eax, eax
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
mov dword [esp + 0x18], eax
jge 0x4a6e28
fadd qword [0x6bb5e8]
fmul qword [esp + 0x74]
call fcn.005cd414
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp dword [0x8655f0], ecx
jae 0x4a6e78
lea edx, [esp + 0x11c]
push edx
push 0x1f59
call fcn.0041d4a0
add esp, 4
push eax
push str._s_:__s
push ebp
lea eax, [ebp + 3]
imul eax, eax, 0xf
push 0
push 0
push 0
push 0xff
add eax, edi
push eax
lea ecx, [esi + 0xa]
push ecx
jmp 0x4a6f08
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a6ece
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x128]
push eax
mov ecx, 0x8655e8
call fcn.004cb530
lea ecx, [esp + 0x11c]
push ecx
push 0x1f59
call fcn.0041d4a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a6ef0
lea ecx, [esp + 0x11c]
push ecx
push 0x1f59
call fcn.0041d4a0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push str._s_:__s
push ebp
push 0
push edx
lea edx, [ebp + 3]
imul edx, edx, 0xf
push eax
push ecx
add edx, edi
lea eax, [esi + 0xa]
push edx
push eax
call ebx
add esp, 0x28
mov byte [esp + 0x30], 0x96
mov byte [esp + 0x2c], 0x96
mov byte [esp + 0x34], 0x96
inc ebp
mov ecx, dword [esp + 0x24]
mov edx, dword [ecx + 0x4c]
push 0
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x8655e8
mov dword [esp + 0x24], edx
call fcn.004ce790
jmp 0x4a6f99
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x4c]
push 0
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, 0x8655e8
mov dword [esp + 0x24], eax
call fcn.004ce790
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a6f99
lea ecx, [esp + 0x34]
push ecx
lea edx, [esp + 0x30]
push edx
lea eax, [esp + 0x38]
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, 0x8655e8
call fcn.004cb530
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x4c]
mov edx, dword [0x8655f0]
cmp edx, ecx
lea ecx, [esp + 0x11c]
push ecx
push 0x1464
jae 0x4a6fd3
call fcn.0041d4a0
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a6ff3
call fcn.0041d4a0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push str._s_:__s
push ebp
push 0
push edx
push eax
push ecx
lea edx, [ebp + 3]
imul edx, edx, 0xf
add edx, edi
lea eax, [esi + 0xa]
push edx
push eax
call ebx
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
add esp, 0x28
push 0x24
call dword [edx + 4]
mov byte [esp + 0x30], 0xff
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x34], 0xff
jmp 0x4a71be
cmp dword [0x868dd4], 0x65
jne 0x4a70f4
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 0x50]
test eax, eax
je 0x4a71bf
push 0
lea ecx, [esp + 0x120]
push ecx
lea edx, [esp + 0x20]
push edx
mov ecx, 0x8655e8
mov dword [esp + 0x24], eax
call fcn.004ce790
mov ecx, dword [0x7191d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a70b5
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x128]
push ecx
mov ecx, 0x8655e8
call fcn.004cb530
lea edx, [esp + 0x11c]
push edx
push 0x1463
call fcn.0041d4a0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x7c]
add esp, 4
push eax
mov eax, dword [esp + 0x20]
jmp 0x4a70d7
lea edx, [esp + 0x11c]
push edx
push 0x1463
call fcn.0041d4a0
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x3c]
push str._s_:__s
push ebp
push 0
push eax
lea eax, [ebp + 3]
imul eax, eax, 0xf
push ecx
push edx
add eax, edi
lea ecx, [esi + 0xa]
push eax
push ecx
jmp 0x4a71b9
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x4a71bf
cmp ecx, 0xb
je 0x4a71bf
mov dword [esp + 0x18], eax
push 0
lea eax, [esp + 0x120]
push eax
lea ecx, [esp + 0x20]
push ecx
mov ecx, 0x8655e8
call fcn.004ce790
mov ecx, dword [0x7191d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a717f
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x128]
push eax
mov ecx, 0x8655e8
call fcn.004cb530
lea ecx, [esp + 0x11c]
push ecx
push 0x1464
call fcn.0041d4a0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x7c]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a71a1
lea ecx, [esp + 0x11c]
push ecx
push 0x1464
call fcn.0041d4a0
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push str._s_:__s
push ebp
push 0
push edx
push eax
push ecx
lea edx, [ebp + 3]
imul edx, edx, 0xf
add edx, edi
push edx
lea eax, [esi + 0xa]
push eax
call ebx
add esp, 0x28
inc ebp
mov ecx, dword [esp + 0x48]
mov al, byte [ecx + 4]
cmp al, 0x1e
je 0x4a722d
cmp al, 0x5f
je 0x4a722d
cmp al, 0x1b
je 0x4a722d
cmp al, 0x63
je 0x4a722d
cmp al, 0x1c
je 0x4a722d
cmp al, 0x1d
je 0x4a722d
mov ax, word [esp + 0x98]
test ax, ax
je 0x4a722d
movzx edx, ax
movzx eax, word [esp + 0x44]
push edx
push eax
push 0x1465
call fcn.0041d4a0
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x38]
add esp, 4
push eax
mov eax, dword [esp + 0x3c]
push str._s_:__d__d
push ebp
push 0
push ecx
lea ecx, [ebp + 3]
imul ecx, ecx, 0xf
push edx
push eax
add ecx, edi
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x2c
inc ebp
mov eax, dword [0x8655ec]
test eax, eax
je 0x4a7277
mov eax, dword [0x2209818]
test eax, eax
je 0x4a7277
mov eax, dword [esp + 0x48]
movzx ecx, byte [eax + 5]
movzx edx, byte [eax + 4]
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov edx, dword [esp + 0x38]
push 0x6c1bc8
push ebp
push 0
push eax
lea eax, [ebp + 3]
imul eax, eax, 0xf
push ecx
push edx
add eax, edi
push eax
lea ecx, [esi + 0xa]
push ecx
call ebx
add esp, 0x28
inc ebp
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 4]
test eax, eax
je 0x4a72b4
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4a72b4
mov ebx, dword [esp + 0x48]
mov eax, ebp
imul eax, eax, 0xf
push 0xff2a2a2a
push 0
lea ecx, [eax + edi + 0x32]
push ecx
lea edx, [esi + 0xa]
push edx
lea ecx, [ebx + 0x40]
call fcn.0052d030
add ebp, dword [ebx + 0xa4]
cmp dword [esp + 0x93c], 9
je 0x4a7357
mov eax, dword [esp + 0x48]
mov al, byte [eax + 4]
cmp al, 0x1e
je 0x4a7357
cmp al, 0x5f
je 0x4a7357
cmp al, 0x1b
je 0x4a7357
cmp al, 0x63
je 0x4a7357
cmp al, 0x1c
je 0x4a7357
cmp al, 0x1d
je 0x4a7357
mov al, byte [esp + 0x4f]
test al, al
je 0x4a7357
mov eax, dword [esp + 0x8c]
test eax, eax
je 0x4a7357
movzx eax, byte [esp + 0x4e]
xor ebx, ebx
test eax, eax
jle 0x4a7357
imul ebp, ebp, 0xf
lea ebp, [edi + ebp + 0x35]
add esi, 0xa
mov al, byte [esp + ebx + 0x90]
test al, al
je 0x4a7337
push 1
push 1
push 1
movzx ecx, al
push ecx
mov ecx, dword [esp + 0x58]
push 0x1e
push ebp
push esi
push 0xffffffffffffffff
call fcn.004a3400
jmp 0x4a734a
push 0x10
push 0x10
push ebp
push esi
push 0x7f000000
call fcn.004a2690
add esp, 0x14
movzx eax, byte [esp + 0x4e]
inc ebx
add esi, 0x14
cmp ebx, eax
jl 0x4a7311
mov ecx, 0x2209408
call fcn.005bfb50
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x914
ret 0x28