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

Disassembly:
sub esp, 0x918
push ebx
mov ebx, ecx
mov eax, dword [ebx]
push edi
xor edi, edi
cmp eax, edi
mov dword [esp + 0x3c], ebx
je 0x4a1b72
push ebp
mov ecx, 0x7086e0
call fcn.0041e5b0
xor eax, eax
mov al, byte [ebx + 5]
xor ecx, ecx
mov cl, byte [ebx + 4]
push eax
push ecx
mov ecx, 0x859304
call fcn.0045f410
mov ebp, eax
cmp ebp, edi
mov dword [esp + 0x1c], ebp
je 0x4a1b71
mov eax, dword [0x6f3558]
cmp eax, edi
je 0x49e377
cmp eax, 0x64
jne 0x49e3a1
mov eax, dword [ebp]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49e380
sub eax, edx
xor edx, edx
cmp eax, 0x11
setle dl
dec edx
and edx, 0x14
add edx, 0x96
mov dword [0x6f44e0], edx
mov al, byte [esp + 0x948]
test al, al
jne 0x49e3b4
mov eax, dword [0x6f44e0]
mov dword [ebx + 0x20], eax
xor ecx, ecx
mov cl, byte [ebx + 4]
push esi
mov dword [esp + 0x64], edi
mov dword [esp + 0x40], 1
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0xff
mov byte [esp + 0x30], 0xff
push ecx
mov ecx, 0x851aa0
call fcn.004bee20
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 + 0x4b], al
mov al, byte [ebx + 4]
cmp al, 0x19
mov byte [esp + 0x3d], 0
mov byte [esp + 0x8c], dl
mov dword [esp + 0x88], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x78], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x24], edi
mov byte [esp + 0x53], 0
mov byte [esp + 0x99], 0
mov byte [esp + 0x98], 0
mov byte [esp + 0x97], 0
mov byte [esp + 0x96], 0
mov byte [esp + 0x95], 0
mov byte [esp + 0x94], 0
je 0x49e490
cmp al, 0x2c
je 0x49e490
cmp al, 0x64
je 0x49e490
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 + 0x68], edx
xor edx, edx
mov dx, word [ebp + 0x44]
mov dword [esp + 0x74], eax
xor eax, eax
mov ax, word [ebp + 0x46]
mov dword [esp + 0x70], ecx
xor ecx, ecx
mov cx, word [ebp + 0x42]
mov dword [esp + 0x80], edx
movzx dx, byte [ebp + 0x49]
mov word [esp + 0x60], dx
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x84], eax
mov dword [esp + 0x6c], ecx
mov cl, byte [ebp + 0x48]
lea eax, [edx - 1]
cmp eax, 9
mov byte [esp + 0x3f], cl
ja case.default.0x49e504
jmp dword [eax*4 + 0x4a1b80]
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x21ec666]
jmp 0x49e64d
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x85908c]
jmp 0x49e64d
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x85919c]
jmp 0x49e64d
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e9614]
movzx eax, byte [eax + 0x21e9615]
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*8]
imul ecx, ecx, 0x22
mov ax, word [ecx + 0x852b34]
mov word [esp + 0x4c], ax
jmp case.0x49e504.5
movzx eax, bl
lea ecx, [eax + eax*4]
mov ax, word [ecx*8 + 0x21e96a4]
mov word [esp + 0x4c], ax
jmp case.0x49e504.5
mov ecx, dword [0x7094a0]
mov eax, dword [ecx]
mov eax, dword [eax + 0x1ff8]
test eax, eax
je case.0x49e504.5
mov ecx, dword [eax + 0x1938]
mov ax, word [ecx + 4]
mov word [esp + 0x4c], ax
jmp case.0x49e504.5
movzx ecx, byte [esp + 0x934]
imul ecx, ecx, 0x22
mov ax, word [ecx + 0x21e93c8]
mov word [esp + 0x4c], ax
jmp case.0x49e504.5
mov eax, dword [0x85124c]
test eax, eax
je case.0x49e504.5
mov cx, word [eax + 0x36dc]
jmp 0x49e64d
mov eax, dword [0x7094a0]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x1ffc]
test ecx, ecx
je case.0x49e504.5
call fcn.004a7e90
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x4c], eax
jmp case.0x49e504.5
cmp edi, 0xffffffff
je 0x49e632
cmp edi, 0xf0
jge 0x49e61d
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x8570aa]
jmp 0x49e64d
cmp edi, 0x1e0
jge case.0x49e504.5
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x21e7a9c]
jmp 0x49e64d
movzx ecx, byte [esp + 0x934]
movzx eax, bl
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
imul eax, eax, 0x22
mov cx, word [eax + 0x852b34]
mov word [esp + 0x4c], cx
mov ecx, dword [esp + 0x92c]
test ecx, ecx
je 0x49e661
mov dword [esp + 0x4c], esi
cmp edx, 9
je 0x49e96b
mov eax, dword [esp + 0x44]
mov al, byte [eax + 4]
cmp al, 0x19
je 0x49e96b
cmp al, 0x2c
je 0x49e96b
cmp al, 0x1e
je 0x49e96b
cmp al, 0x5f
je 0x49e96b
cmp al, 0x18
je 0x49e96b
cmp al, 0x27
je 0x49e96b
cmp al, 0x64
je 0x49e96b
test ecx, ecx
mov byte [esp + 0x53], 1
jne 0x49e96b
mov di, word [esp + 0x38]
mov bp, word [esp + 0x78]
xor esi, esi
mov eax, dword [esp + 0x93c]
dec eax
cmp eax, 9
ja case.default.0x49e6d3
jmp dword [eax*4 + 0x4a1ba8]
mov ecx, dword [esp + 0x938]
imul ecx, ecx, 0x22
mov bl, byte [ecx + esi + 0x21ec668]
jmp 0x49e83e
mov edx, dword [esp + 0x938]
imul edx, edx, 0x22
mov bl, byte [edx + esi + 0x85908e]
jmp 0x49e83e
mov eax, dword [esp + 0x938]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x85919e]
jmp 0x49e83e
movzx eax, byte [esp + 0x930]
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e9614]
movzx edx, byte [eax + 0x21e9615]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*8]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x852b36]
jmp 0x49e83e
movzx eax, byte [esp + 0x930]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21e96a6]
jmp 0x49e83e
mov edx, dword [0x7094a0]
mov eax, dword [edx]
mov eax, dword [eax + 0x1ff8]
test eax, eax
je case.0x49e6d3.5
mov ecx, dword [eax + 0x1938]
mov bl, byte [ecx + esi + 6]
jmp 0x49e83e
mov eax, dword [0x85124c]
test eax, eax
je case.0x49e6d3.5
mov edx, eax
mov bl, byte [esi + edx + 0x36de]
jmp 0x49e83e
movzx eax, byte [esp + 0x934]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x21e93ca]
jmp 0x49e83e
mov ecx, dword [0x7094a0]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x1ffc]
test ecx, ecx
je case.0x49e6d3.5
push esi
call fcn.004a7ed0
movzx bx, al
mov dword [esp + 0x4c], ebx
jmp 0x49e83e
mov eax, dword [esp + 0x938]
cmp eax, 0xffffffff
je 0x49e81e
cmp eax, 0xf0
jge 0x49e800
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x8570ac]
jmp 0x49e83e
cmp eax, 0x1e0
jge case.0x49e6d3.5
mov eax, dword [esp + 0x938]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21e7a9e]
jmp 0x49e83e
movzx eax, byte [esp + 0x930]
lea edx, [eax + eax*2]
movzx eax, byte [esp + 0x934]
lea ecx, [eax + edx*8]
imul ecx, ecx, 0x22
mov bl, byte [ecx + esi + 0x852b36]
test bl, bl
mov byte [esp + 0x34], bl
je case.0x49e6d3.5
mov edx, dword [esp + 0x34]
push edx
push 0x1e
mov ecx, 0x859304
call fcn.0045f410
test eax, eax
je case.0x49e6d3.5
mov dl, byte [esp + 0x3d]
mov cl, byte [eax + 0x28]
add dl, cl
mov byte [esp + 0x3d], dl
mov dl, byte [esp + 0x8c]
test dl, dl
mov byte [esp + esi + 0x94], bl
jne 0x49e88e
mov dl, byte [eax + 0x29]
mov byte [esp + 0x8c], dl
jmp 0x49e8a1
mov cl, byte [eax + 0x29]
test cl, cl
je 0x49e8a1
cmp dl, cl
je 0x49e8a1
mov byte [esp + 0x8c], 0
mov cx, word [eax + 0x2c]
add word [esp + 0x9c], cx
mov dx, word [eax + 0x2e]
add word [esp + 0x88], 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 + 0x68], dx
add word [esp + 0x70], cx
mov cx, word [eax + 0x40]
mov dx, word [eax + 0x42]
add word [esp + 0x6c], dx
mov dx, word [eax + 0x46]
add word [esp + 0x74], cx
mov cx, word [eax + 0x44]
add word [esp + 0x84], dx
mov dl, byte [esp + 0x3f]
add word [esp + 0x80], 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 + 0x60], edx
inc esi
cmp esi, 6
jl 0x49e6c2
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 + 0x78], bp
mov ebp, dword [esp + 0x20]
cmp byte [esp + 0x3e], 5
mov dword [esp + 0x10], 1
mov esi, 2
jne 0x49e983
mov dword [esp + 0x10], esi
mov al, byte [esp + 0x8c]
test al, al
je 0x49e992
inc dword [esp + 0x10]
cmp word [esp + 0x58], 0
je 0x49e99e
inc dword [esp + 0x10]
cmp word [esp + 0x5c], 0
je 0x49e9aa
inc dword [esp + 0x10]
cmp word [esp + 0x54], 0
je 0x49e9b6
inc dword [esp + 0x10]
cmp word [esp + 0x70], 0
je 0x49e9c2
inc dword [esp + 0x10]
cmp word [esp + 0x68], 0
je 0x49e9ce
inc dword [esp + 0x10]
cmp word [esp + 0x74], 0
je 0x49e9da
inc dword [esp + 0x10]
cmp word [esp + 0x6c], 0
je 0x49e9e6
inc dword [esp + 0x10]
cmp word [esp + 0x80], 0
je 0x49e9f5
inc dword [esp + 0x10]
cmp word [esp + 0x84], 0
je 0x49ea04
inc dword [esp + 0x10]
mov al, byte [esp + 0x3f]
test al, al
je 0x49ea10
inc dword [esp + 0x10]
cmp word [esp + 0x60], 0
je 0x49ea1c
inc dword [esp + 0x10]
test ecx, ecx
je 0x49ea7c
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x49ea2b
inc dword [esp + 0x10]
mov ecx, 0x851aa0
call fcn.004c3bf0
cmp eax, 1
jne case.0x49eac1.5
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov al, byte [eax + 4]
inc edx
cmp al, 0x1e
mov dword [esp + 0x10], edx
je 0x49ea56
cmp al, 0x5f
jne 0x49ea5a
add dword [esp + 0x10], esi
mov ecx, dword [0x8592e0]
push ecx
mov ecx, 0x851aa0
call fcn.004c7420
test eax, eax
jne case.0x49eac1.5
inc dword [esp + 0x10]
jmp case.0x49eac1.5
cmp edx, 3
je 0x49eaab
cmp edx, 4
je 0x49eaab
cmp dword [0x854e94], 0x65
jne 0x49ea9d
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x49eab5
mov eax, dword [esp + 0x10]
inc eax
jmp 0x49eab1
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x49eab5
mov eax, dword [esp + 0x10]
inc eax
jmp 0x49eab1
mov eax, dword [esp + 0x10]
add eax, esi
mov dword [esp + 0x10], eax
lea eax, [edx - 1]
cmp eax, 9
ja case.default.0x49eac1
jmp dword [eax*4 + 0x4a1bd0]
imul edi, edi, 0x22
add edi, 0x21ec66e
mov dword [esp + 0x24], edi
jmp case.0x49eac1.5
imul edi, edi, 0x22
add edi, 0x859094
mov dword [esp + 0x24], edi
jmp case.0x49eac1.5
imul edi, edi, 0x22
add edi, 0x8591a4
mov dword [esp + 0x24], edi
jmp case.0x49eac1.5
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e9614]
movzx eax, byte [eax + 0x21e9615]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*8]
jmp 0x49ebdd
movzx eax, bl
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 0x21e96b0]
mov dword [esp + 0x24], edx
jmp case.0x49eac1.5
mov eax, dword [0x7094a0]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x1ff8]
test eax, eax
je case.0x49eac1.5
mov eax, dword [eax + 0x1938]
add eax, 0xc
jmp 0x49ebe5
mov eax, dword [0x85124c]
test eax, eax
je case.0x49eac1.5
add eax, 0x36e4
jmp 0x49ebe5
movzx eax, byte [esp + 0x934]
imul eax, eax, 0x22
add eax, 0x21e93d0
jmp 0x49ebe5
mov edx, dword [0x7094a0]
mov eax, dword [edx]
mov ecx, dword [eax + 0x1ffc]
test ecx, ecx
je case.0x49eac1.5
call fcn.004a7eb0
jmp 0x49ebe5
cmp edi, 0xffffffff
je 0x49ebcc
cmp edi, 0xf0
jge 0x49ebb4
imul edi, edi, 0x22
add edi, 0x8570b2
mov dword [esp + 0x24], edi
jmp case.0x49eac1.5
cmp edi, 0x1e0
jge case.0x49eac1.5
lea ecx, [edi + edi*4]
lea edx, [ecx*8 + 0x21e7aa4]
mov dword [esp + 0x24], edx
jmp case.0x49eac1.5
movzx ecx, byte [esp + 0x934]
movzx eax, bl
lea eax, [eax + eax*2]
lea eax, [ecx + eax*8]
imul eax, eax, 0x22
add eax, 0x852b3c
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x44]
mov al, byte [edx + 4]
cmp al, 0x19
je 0x49ec04
cmp al, 0x2c
je 0x49ec04
cmp al, 0x1e
je 0x49ec04
cmp al, 0x5f
je 0x49ec04
cmp al, 0x64
jne 0x49ec0c
mov dword [esp + 0x24], 0
mov edi, dword [ebp + 4]
test edi, edi
je 0x49ecc2
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 0x3c]
cmp eax, 0x10
lea ebp, [ebx + 0x24]
jb 0x49ec2b
mov eax, dword [ebp + 4]
jmp 0x49ec2e
lea eax, [ebp + 4]
mov esi, edi
mov cl, byte [eax]
mov dl, cl
cmp cl, byte [esi]
jne 0x49ec54
test dl, dl
je 0x49ec50
mov cl, byte [eax + 1]
mov dl, cl
cmp cl, byte [esi + 1]
jne 0x49ec54
add eax, 2
add esi, 2
test dl, dl
jne 0x49ec30
xor eax, eax
jmp 0x49ec59
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49ecae
push edi
mov ecx, ebp
call fcn.00409d00
mov edx, dword [0x851370]
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.005171a0
push 0xf
mov ecx, esi
call fcn.00517100
mov ecx, esi
call fcn.00517490
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.00517d60
mov eax, dword [esp + 0x10]
mov edx, dword [ebx + 0xa4]
mov ebp, dword [esp + 0x20]
add eax, edx
mov dword [esp + 0x10], eax
cmp word [esp + 0x9c], 0
je 0x49ecd1
inc dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov bl, byte [eax + 4]
cmp bl, 0x1e
jne 0x49ed4b
cmp word [ebp + 0xc], 0
je 0x49ece8
inc dword [esp + 0x10]
mov al, byte [ebp + 0xe]
test al, al
je 0x49ecf3
inc dword [esp + 0x10]
mov al, byte [ebp + 0xf]
test al, al
je 0x49ecfe
inc dword [esp + 0x10]
mov al, byte [ebp + 0x10]
test al, al
je 0x49ed09
inc dword [esp + 0x10]
mov al, byte [ebp + 0x11]
test al, al
je 0x49ed14
inc dword [esp + 0x10]
mov al, byte [ebp + 0x12]
test al, al
je 0x49ed1f
inc dword [esp + 0x10]
mov al, byte [ebp + 0x13]
test al, al
je 0x49ed2a
inc dword [esp + 0x10]
mov al, byte [ebp + 0x14]
test al, al
je 0x49ed35
inc dword [esp + 0x10]
mov al, byte [ebp + 0x15]
test al, al
je 0x49ed40
inc dword [esp + 0x10]
cmp word [ebp + 0x16], 0
je 0x49ed4b
inc dword [esp + 0x10]
cmp word [ebp + 0x34], 0
je 0x49ed56
inc dword [esp + 0x10]
cmp bl, 0x1e
je 0x49ed6b
cmp bl, 0x5f
je 0x49ed6b
cmp word [ebp + 0xc], 0
je 0x49ed6b
inc dword [esp + 0x10]
movzx eax, byte [ebp + 0xe]
cmp eax, 5
ja case.default.0x49ed78
jmp dword [eax*4 + 0x4a1bf8]
mov al, byte [0x853e55]
test al, al
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
cmp byte [0x853e55], 1
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
mov al, byte [0x853e55]
test al, al
je case.default.0x49ed78
cmp al, 1
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
cmp byte [0x853e55], 3
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
cmp byte [0x853e55], 2
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
mov al, byte [0x853e55]
cmp al, 3
je case.default.0x49ed78
cmp al, 2
je case.default.0x49ed78
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49edf1
mov edx, dword [esp + 0x40]
mov cl, byte [ebp + 0xf]
xor eax, eax
test cl, cl
mov cl, byte [0x853e5a]
je 0x49ee09
test cl, cl
jne 0x49ee09
mov eax, 1
cmp byte [ebp + 0x10], 0
je 0x49ee19
cmp cl, 1
jne 0x49ee19
mov eax, 1
cmp byte [ebp + 0x11], 0
je 0x49ee29
cmp cl, 2
jne 0x49ee29
mov eax, 1
cmp byte [ebp + 0x12], 0
je 0x49ee39
cmp cl, 3
jne 0x49ee39
mov eax, 1
cmp byte [ebp + 0x13], 0
je 0x49ee49
cmp cl, 4
jne 0x49ee49
mov eax, 1
cmp byte [ebp + 0x14], 0
je 0x49ee54
cmp cl, 5
je 0x49ee69
test eax, eax
jne 0x49ee69
xor edx, edx
mov esi, 1
mov dword [esp + 0x40], edx
mov dword [esp + 0x64], esi
jmp 0x49ee7c
test edx, edx
jne 0x49ee78
mov esi, 1
mov dword [esp + 0x64], esi
jmp 0x49ee7c
mov esi, dword [esp + 0x64]
movzx eax, byte [0x853e56]
xor edi, edi
sub eax, edi
je 0x49eeb0
dec eax
je 0x49ee9d
dec eax
jne 0x49eebf
cmp byte [ebp + 0x15], 3
jne 0x49eebf
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49eec3
mov al, byte [ebp + 0x15]
test al, al
je 0x49eebf
cmp al, 1
je 0x49eebf
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49eec3
mov al, byte [ebp + 0x15]
test al, al
je 0x49eebf
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49eec3
cmp edx, edi
jne 0x49eed0
cmp esi, edi
jne 0x49eed0
mov esi, 2
mov dword [esp + 0x64], esi
cmp bl, 0x1e
je 0x49ef01
cmp bl, 0x5f
je 0x49ef01
mov ax, word [ebp + 0xc]
cmp ax, di
je 0x49ef01
movzx ecx, ax
cmp dword [0x851ab0], ecx
jge 0x49ef01
xor edx, edx
cmp esi, edi
mov dword [esp + 0x40], edx
jne 0x49ef01
mov esi, 3
mov dword [esp + 0x64], esi
mov al, byte [ebp + 0x2a]
cmp al, 0x40
je 0x49ef0e
cmp al, 0x41
jne 0x49ef29
cmp al, 0x40
mov cl, byte [0x854e5c]
jne 0x49ef1a
test cl, cl
je 0x49ef29
cmp al, 0x41
jne 0x49ef23
cmp cl, 1
je 0x49ef29
mov dword [esp + 0x40], edi
jmp 0x49ef2d
cmp edx, edi
jne 0x49ef39
cmp esi, edi
jne 0x49ef39
mov dword [esp + 0x64], 0xb
cmp dword [esp + 0x93c], 9
je 0x49ef75
cmp bl, 0x1e
je 0x49ef75
cmp bl, 0x5f
je 0x49ef75
cmp bl, 0x19
je 0x49ef75
cmp bl, 0x2c
je 0x49ef75
cmp bl, 0x64
je 0x49ef75
cmp bl, 0x1b
je 0x49ef75
cmp bl, 0x1c
je 0x49ef75
cmp bl, 0x1d
je 0x49ef75
cmp bl, 0x5e
je 0x49ef75
cmp bl, 0x2b
jne 0x49ef81
mov dword [esp + 0x40], 1
mov dword [esp + 0x64], edi
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x49efa6
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x49efa6
mov eax, dword [esp + 0x64]
test eax, eax
je 0x49efa6
inc dword [esp + 0x10]
mov esi, dword [esp + 0x24]
push esi
push 0xc
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x58], 0
jne 0x49efc7
test eax, eax
je 0x49efc7
inc dword [esp + 0x10]
push esi
push 0x10
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x5c], 0
jne 0x49efe4
test eax, eax
je 0x49efe4
inc dword [esp + 0x10]
push esi
push 0xe
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x54], 0
jne 0x49f001
test eax, eax
je 0x49f001
inc dword [esp + 0x10]
push esi
push 0
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x70], 0
jne 0x49f01e
test eax, eax
je 0x49f01e
inc dword [esp + 0x10]
push esi
push 2
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x68], 0
jne 0x49f03b
test eax, eax
je 0x49f03b
inc dword [esp + 0x10]
push esi
push 4
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x74], 0
jne 0x49f058
test eax, eax
je 0x49f058
inc dword [esp + 0x10]
push esi
push 6
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x6c], 0
jne 0x49f075
test eax, eax
je 0x49f075
inc dword [esp + 0x10]
push esi
push 8
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x80], 0
jne 0x49f095
test eax, eax
je 0x49f095
inc dword [esp + 0x10]
push esi
push 0xa
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x84], 0
jne 0x49f0b5
test eax, eax
je 0x49f0b5
inc dword [esp + 0x10]
push esi
push 0x12
mov ecx, 0x851aa0
call fcn.004c3db0
test eax, eax
je 0x49f0cf
cmp eax, 0x32
jle 0x49f0cf
inc dword [esp + 0x10]
mov al, byte [esp + 0x94c]
mov ebp, dword [0x6f44e0]
test al, al
mov eax, dword [0x708794]
jne 0x49f0f4
mov ecx, dword [esp + 0x940]
mov edi, eax
sub edi, ebp
add edi, ecx
jmp 0x49f10c
mov ecx, dword [esp + 0x44]
mov esi, dword [ecx + 0x20]
mov ecx, dword [esp + 0x940]
mov edx, eax
sub edx, esi
sub edx, ebp
lea edi, [edx + ecx - 8]
mov ebx, dword [esp + 0x10]
mov edx, dword [0x708798]
mov esi, dword [esp + 0x944]
add ebx, 4
imul ebx, ebx, 0xf
add esi, edx
mov edx, dword [esp + 0x44]
mov dl, byte [edx + 4]
cmp dl, 0x1e
mov dword [esp + 0x34], edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], ebx
je 0x49f168
cmp dl, 0x5f
je 0x49f168
cmp dl, 0x1b
je 0x49f168
cmp dl, 0x1c
je 0x49f168
cmp dl, 0x1d
je 0x49f168
mov dl, byte [esp + 0x53]
test dl, dl
je 0x49f168
mov dl, byte [esp + 0x4b]
test dl, dl
je 0x49f168
add ebx, 0x14
mov dword [esp + 0x10], ebx
test edi, edi
jge 0x49f196
mov dl, byte [esp + 0x94c]
test dl, dl
je 0x49f18f
mov edx, 0xfffffff8
sub edx, ebp
cmp edi, edx
jge 0x49f18f
mov edx, dword [esp + 0x44]
mov edx, dword [edx + 0x20]
lea edi, [edx + eax + 0x10]
jmp 0x49f192
lea edi, [eax + 8]
mov dword [esp + 0x34], edi
xor edx, edx
neg ecx
test ecx, ecx
setle dl
dec edx
and edx, ecx
lea eax, [edi + edx]
mov edx, dword [0x6f355c]
add eax, ebp
cmp eax, edx
jle 0x49f1c5
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 + 0x34], edi
test esi, esi
jge 0x49f1cf
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 [0x6f3560]
cmp edx, ecx
jle 0x49f205
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 [0x705814]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x49f260
cmp byte [esp + 0x3e], 0xe
je 0x49f260
cmp dword [esp + 0x93c], 0x64
je 0x49f260
push 0xcd1d1f24
push 0xf
push 0x78
lea ecx, [esi - 0x14]
push ecx
push edi
call fcn.004fbb70
mov ecx, dword [esp + 0x58]
movzx edx, byte [ecx + 5]
movzx eax, byte [ecx + 4]
add esp, 0x14
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.0049c4d0
mov ebx, dword [esp + 0x948]
test ebx, ebx
mov dword [esp + 0x90], 0
jne 0x49f2a3
mov ecx, dword [esp + 0x10]
mov edx, dword [0x6f44e0]
push 0xcd1d1f24
push ecx
push edx
push esi
push edi
call fcn.004fbb70
add esp, 0x14
mov ebx, 0x49c880
mov dword [esp + 0x90], 1
jmp 0x49f2ba
mov eax, dword [0x85124c]
mov dword [eax + 0x371c], edi
mov ecx, dword [0x85124c]
mov dword [ecx + 0x3720], esi
mov ecx, 0x21f3fa0
call fcn.0052bf90
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0xb
xor ebp, ebp
call dword [edx + 4]
test al, al
je 0x49f2ec
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x49f2ec
mov eax, dword [esp + 0x64]
test eax, eax
je 0x49f2ec
mov ebp, 1
mov eax, dword [esp + 0x44]
cmp byte [eax + 4], 0x1e
jne 0x49f56d
push 0x143d
add edi, 0xa
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x44]
add esp, 0x24
inc ebp
cmp word [eax + 0xc], 0
je 0x49f364
push 0x143e
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0xe]
test cl, cl
je 0x49f39d
push 0x143f
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0xf]
test cl, cl
je 0x49f3d6
push 0x1440
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x10]
test cl, cl
je 0x49f40f
push 0x1441
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x11]
test cl, cl
je 0x49f448
push 0x1442
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x12]
test cl, cl
je 0x49f481
push 0x1443
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x13]
test cl, cl
je 0x49f4ba
push 0x1444
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x14]
test cl, cl
je 0x49f4f3
push 0x1445
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
mov cl, byte [eax + 0x15]
test cl, cl
je 0x49f52c
push 0x1446
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 + 0x20]
cmp word [eax + 0x16], 0
je case.default.0x49f8c7
push 0x1505
call fcn.0041b840
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [esp + 0x34]
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 0x49face
cmp byte [esp + 0x3e], 5
jne 0x49f943
mov esi, dword [esp + 0x24]
push esi
push 0x12
mov ecx, 0x851aa0
xor edi, edi
call fcn.004c3db0
test eax, eax
je 0x49f5a1
cmp eax, 0x32
jg 0x49f5a1
push eax
mov ecx, 0x851aa0
call fcn.004c3f70
mov edi, eax
push esi
push 0x12
mov ecx, 0x851aa0
call fcn.004c3db0
mov esi, dword [esp + 0x20]
movzx ecx, word [esi + 0x2e]
test eax, eax
movzx eax, word [esp + 0x88]
mov dword [esp + 0x38], eax
je 0x49f5e2
add ecx, eax
add ecx, edi
push ecx
lea edx, [esp + 0x124]
push 0x6ae5b0
push edx
call fcn.005baa1d
add esp, 0xc
jmp 0x49f60a
add ecx, eax
add ecx, edi
push ecx
push 0x1447
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x128]
push str._s__4d
push edx
call fcn.005baa1d
add esp, 0x10
lea eax, [esp + 0x120]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f614
push 0
lea ecx, [esp + 0x7c]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x12c]
push edx
mov ecx, 0x21f3fa0
call fcn.0052db90
mov ax, word [esp + 0x18]
test ax, ax
jne 0x49f693
cmp word [esp + 0x88], ax
jne 0x49f693
movzx eax, word [esi + 0x30]
movzx ecx, word [esi + 0x2e]
add eax, edi
add ecx, eax
push ecx
lea edx, [esp + 0x428]
push str.___4d
push edx
call fcn.005baa1d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f676
lea edi, [esp + 0x120]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49f687
mov esi, edx
jmp 0x49f6e9
movzx ecx, word [esi + 0x30]
movzx edx, word [esi + 0x2e]
mov esi, dword [esp + 0x38]
movzx eax, ax
add edx, esi
add edx, ecx
add eax, edx
add eax, edi
push eax
lea ecx, [esp + 0x428]
push str.___4d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x430]
add esp, 0xc
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f6d0
lea edi, [esp + 0x120]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49f6e1
mov edx, dword [esp + 0x24]
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, 0x851aa0
call fcn.004c3db0
push 0x1447
mov esi, eax
call fcn.0041b840
add esp, 4
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f720
sub eax, edx
push 0
push eax
push 0x1447
call fcn.0041b840
add esp, 4
push eax
mov ecx, 0x21f3fa0
call fcn.0052dca0
test esi, esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], eax
je 0x49f7bc
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
push 0x1447
add esi, 0xa
lea edi, [eax + ecx + 0x28]
call fcn.0041b840
cmp word [esp + 0x8c], 0
push eax
push ebp
push 0
je 0x49f7b5
push 0
push 0xff
push 0xff
push edi
push esi
call ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x144]
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 0x49f81f
push 0xff
jmp 0x49f77b
add esi, 0xa
cmp word [esp + 0x88], 0
je 0x49f7f1
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x120]
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 0x49f819
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x120]
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 + 0x20]
inc ebp
test al, al
je 0x49f8ba
mov cl, byte [edx + 0x28]
add cl, al
movzx eax, cl
cmp eax, 9
ja case.default.0x49f8c7
jmp dword [eax*4 + 0x4a1c10]
push 0x1448
call fcn.0041b840
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 0x49face
push 0x1449
jmp 0x49f84d
push 0x144a
jmp 0x49f84d
push 0x144b
jmp 0x49f84d
push 0x144c
jmp 0x49f84d
push 0x144d
jmp 0x49f84d
push 0x144e
jmp 0x49f84d
push 0x144f
jmp 0x49f84d
push 0x1450
jmp 0x49f84d
push 0x1451
jmp 0x49f84d
movzx eax, byte [edx + 0x28]
cmp eax, 9
ja case.default.0x49f8c7
jmp dword [eax*4 + 0x4a1c38]
push 0x1448
jmp 0x49f912
push 0x1449
jmp 0x49f912
push 0x144a
jmp 0x49f912
push 0x144b
jmp 0x49f912
push 0x144c
jmp 0x49f912
push 0x144d
jmp 0x49f912
push 0x144e
jmp 0x49f912
push 0x144f
jmp 0x49f912
push 0x1450
jmp 0x49f912
push 0x1451
call fcn.0041b840
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 0x49face
mov eax, dword [esp + 0x20]
mov ax, word [eax + 0x32]
test ax, ax
je 0x49fa06
movzx ecx, ax
push ecx
push 0x1452
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0xa8]
push str._s__d
push edx
call fcn.005baa1d
add esp, 0x10
cmp word [esp + 0x78], 0
je 0x49f9d8
movzx eax, word [esp + 0x78]
push eax
lea ecx, [esp + 0x428]
push str.__3d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49f9a7
lea edi, [esp + 0xa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49f9b8
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 + 0x34]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x30]
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 + 0x20]
mov ax, word [eax + 0x34]
test ax, ax
je case.default.0x49f8c7
movzx ecx, ax
push ecx
push 0x1453
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0xa8]
push str._s__d
push edx
call fcn.005baa1d
add esp, 0x10
cmp word [esp + 0x38], 0
je 0x49faa1
movzx eax, word [esp + 0x38]
push eax
lea ecx, [esp + 0x428]
push str.__3d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fa70
lea edi, [esp + 0xa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49fa81
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 + 0x34]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x30]
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 + 0x20]
cmp byte [edx + 0x2a], 0x2e
je 0x49fb30
mov al, byte [esp + 0x8c]
test al, al
je 0x49fb30
mov ecx, dword [esp + 0x8c]
push 0x64
lea eax, [esp + 0xa4]
push eax
push ecx
call fcn.0041c5a0
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
lea edx, [esp + 0xac]
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 0x49fb34
mov esi, dword [esp + 0x34]
xor eax, eax
cmp word [esp + 0x58], 0
mov byte [esp + 0x224], 0
mov ecx, 0x7f
lea edi, [esp + 0x225]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
je 0x49fda6
mov ecx, dword [esp + 0x24]
push ecx
push 0xc
mov ecx, 0x851aa0
call fcn.004c3db0
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x58]
mov dword [esp + 0x18], edi
push eax
jne 0x49fc83
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s_HP__d
push edx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fbb2
sub eax, edx
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x49fc1a
movzx eax, word [esp + 0x58]
push eax
push 0x1458
call fcn.0041b840
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 0x49fda5
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.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + esi + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
jmp 0x49fda5
push 0x1a0
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x230]
push str._s_s__d
push edx
call fcn.005baa1d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fcc0
sub eax, edx
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x49fd33
movzx eax, word [esp + 0x58]
push eax
push 0x1a0
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x49fda5
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.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea ecx, [eax + esi + 0xf]
push edi
push ecx
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x5c], 0
je 0x4a0006
mov edx, dword [esp + 0x24]
push edx
push 0x10
mov ecx, 0x851aa0
call fcn.004c3db0
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x5c]
mov dword [esp + 0x18], edi
push eax
jne 0x49fee1
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s_SP__d
push eax
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fe10
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x49fe78
movzx eax, word [esp + 0x5c]
push eax
push 0x1458
call fcn.0041b840
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 0x4a0005
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.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + esi + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
jmp 0x4a0005
push 0x1a1
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea eax, [esp + 0x230]
push str._s_s__d
push eax
call fcn.005baa1d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49ff20
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
jne 0x49ff93
movzx eax, word [esp + 0x5c]
push eax
push 0x1a1
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x4a0005
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.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea edx, [ecx + esi + 0xf]
push edi
push edx
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x54], 0
je 0x4a024c
mov eax, dword [esp + 0x24]
push eax
push 0xe
mov ecx, 0x851aa0
call fcn.004c3db0
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x54]
mov dword [esp + 0x18], edi
push eax
jne 0x4a0136
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s_MP__d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0070
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1458
jne 0x4a00d8
call fcn.0041b840
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 0x4a024b
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + esi + 0xf]
push edi
push eax
call ebx
add esp, 0x4c
jmp 0x4a024b
push 0x1a2
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
add esp, 4
push eax
lea ecx, [esp + 0x230]
push str._s_s__d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0171
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f3fa0
call fcn.0052dca0
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1a2
jne 0x4a01e4
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x4a024b
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 0x6ae588
push ebp
push 0
push 0
push 0x87
push 0xff
lea eax, [edx + esi + 0xf]
push edi
push eax
call ebx
add esp, 0x50
inc ebp
cmp word [esp + 0x70], 0
je 0x4a0371
movzx eax, word [esp + 0x70]
push eax
push 0x1da
call fcn.0041b840
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s__3d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
jmp 0x4a0290
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0290
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
push eax
push 0
mov ecx, 0x851aa0
call fcn.004c3db0
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a030c
movzx eax, word [esp + 0x70]
push eax
push 0x1da
call fcn.0041b840
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 0x4a0370
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 0x1da
call fcn.0041b840
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, [eax + esi + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x68], 0
je 0x4a0491
movzx eax, word [esp + 0x68]
push eax
push 0x1db
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s__3d
push edx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a03b0
sub eax, edi
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov ecx, dword [esp + 0x24]
push ecx
push 2
mov ecx, 0x851aa0
mov dword [esp + 0x18], eax
call fcn.004c3db0
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a042c
movzx eax, word [esp + 0x68]
push eax
push 0x1db
call fcn.0041b840
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 0x4a0490
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 0x1db
call fcn.0041b840
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, [ecx + esi + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x74], 0
je 0x4a05a6
movzx eax, word [esp + 0x74]
push eax
push 0x1dc
call fcn.0041b840
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s__3d
push eax
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a04d0
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov edx, dword [esp + 0x24]
push edx
push 4
mov ecx, 0x851aa0
mov dword [esp + 0x18], eax
call fcn.004c3db0
mov dword [esp + 0x18], eax
test eax, eax
movzx eax, word [esp + 0x74]
push eax
push 0x1dc
jne 0x4a054c
call fcn.0041b840
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 0x4a05a5
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b840
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, [edx + esi + 0xf]
push edi
push eax
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x6c], 0
je 0x4a06c6
movzx eax, word [esp + 0x6c]
push eax
push 0x1dd
call fcn.0041b840
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s__3d
push ecx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a05e5
push 0
sub eax, edi
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
push eax
push 6
mov ecx, 0x851aa0
call fcn.004c3db0
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a0661
movzx eax, word [esp + 0x6c]
push eax
push 0x1dd
call fcn.0041b840
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 0x4a06c5
mov eax, dword [esp + 0x14]
mov edx, ebp
imul edx, edx, 0xf
lea edi, [edx + eax + 0x28]
movzx eax, word [esp + 0x6c]
push eax
push 0x1dd
call fcn.0041b840
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, [eax + esi + 0xf]
push edi
push ecx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x80], 0
je 0x4a07f7
movzx eax, word [esp + 0x80]
push eax
push 0x1de
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s__3d
push edx
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
jmp 0x4a0710
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0710
sub eax, edi
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov ecx, dword [esp + 0x24]
push ecx
push 8
mov ecx, 0x851aa0
mov dword [esp + 0x18], eax
call fcn.004c3db0
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a078f
movzx eax, word [esp + 0x80]
push eax
push 0x1de
call fcn.0041b840
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 0x4a07f6
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea edi, [eax + ecx + 0x28]
movzx eax, word [esp + 0x80]
push eax
push 0x1de
call fcn.0041b840
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, [ecx + esi + 0xf]
push edi
push edx
call ebx
add esp, 0x4c
inc ebp
cmp word [esp + 0x84], 0
je 0x4a0936
movzx eax, word [esp + 0x84]
push eax
push 0x1df
call fcn.0041b840
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s__3d
push eax
call fcn.005baa1d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0840
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f3fa0
call fcn.0052dca0
mov edx, dword [esp + 0x24]
push edx
push 0xa
mov ecx, 0x851aa0
mov dword [esp + 0x18], eax
call fcn.004c3db0
test eax, eax
mov dword [esp + 0x38], eax
jne 0x4a08c0
movzx eax, word [esp + 0x84]
push eax
push 0x1df
call fcn.0041b840
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 0x4a093a
mov edi, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
lea ecx, [eax + edi + 0x28]
movzx eax, word [esp + 0x84]
push eax
push 0x1df
mov dword [esp + 0x20], ecx
call fcn.0041b840
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, [eax + esi + 0xf]
push ecx
call ebx
add esp, 0x4c
inc ebp
jmp 0x4a093a
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
push 0xc
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x58], 0
jne 0x4a09e5
test eax, eax
je 0x4a09e5
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a09a1
push 0x1458
call fcn.0041b840
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 0x4a09e4
push 0x1a0
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 + 0x24]
push eax
push 0x10
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x5c], 0
jne 0x4a0a90
test eax, eax
je 0x4a0a90
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a0a4c
push 0x1458
call fcn.0041b840
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 0x4a0a8f
push 0x1a1
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 + 0x24]
push ecx
push 0xe
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x54], 0
jne 0x4a0b3b
test eax, eax
je 0x4a0b3b
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a0af7
push 0x1458
call fcn.0041b840
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 0x4a0b3a
push 0x1a2
call fcn.0041b840
add esp, 4
push eax
push 0x1458
call fcn.0041b840
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 + 0x24]
push edx
push 0
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x70], 0
jne 0x4a0b8f
test eax, eax
je 0x4a0b8f
push eax
push 0x1da
call fcn.0041b840
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 + 0x24]
push eax
push 2
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x68], 0
jne 0x4a0be3
test eax, eax
je 0x4a0be3
push eax
push 0x1db
call fcn.0041b840
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 + 0x24]
push ecx
push 4
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x74], 0
jne 0x4a0c37
test eax, eax
je 0x4a0c37
push eax
push 0x1dc
call fcn.0041b840
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 + 0x24]
push edx
push 6
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x6c], 0
jne 0x4a0c8b
test eax, eax
je 0x4a0c8b
push eax
push 0x1dd
call fcn.0041b840
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 + 0x24]
push eax
push 8
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x80], 0
jne 0x4a0ce2
test eax, eax
je 0x4a0ce2
push eax
push 0x1de
call fcn.0041b840
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 + 0x24]
push ecx
push 0xa
mov ecx, 0x851aa0
call fcn.004c3db0
cmp word [esp + 0x84], 0
jne 0x4a0d39
test eax, eax
je 0x4a0d39
push eax
push 0x1df
call fcn.0041b840
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 0x4a0d6f
push 0x1459
call fcn.0041b840
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 + 0x60], 0
je 0x4a0e02
mov byte [esp + 0x528], 0
xor eax, eax
mov ecx, 0xff
lea edi, [esp + 0x529]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
push 0x1e5
stosb byte es:[edi], al
call fcn.0041b840
add esp, 4
push eax
push 0x13da
call fcn.0041b840
add esp, 4
push eax
lea edx, [esp + 0x530]
push str._s__s
push edx
call fcn.005baa1d
movzx eax, word [esp + 0x70]
push eax
mov eax, dword [esp + 0x28]
lea ecx, [esp + 0x53c]
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 + 0x44]
mov al, byte [eax + 4]
cmp al, 0x1e
je 0x4a0e86
cmp al, 0x5f
je 0x4a0e86
mov eax, dword [esp + 0x20]
cmp word [eax + 0xc], 0
je 0x4a0e86
mov edx, dword [0x851ab0]
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0xff
mov byte [esp + 0x30], 0xff
movzx ecx, word [eax + 0xc]
cmp edx, ecx
jge 0x4a0e48
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0
mov byte [esp + 0x30], 0
movzx edx, word [eax + 0xc]
push edx
push 0x145b
call fcn.0041b840
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x38]
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 [0x705814]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x4a0f0b
cmp byte [esp + 0x3e], 0xe
je 0x4a0f0b
mov al, byte [esp + 0x94c]
test al, al
je 0x4a0ece
push 0x198d
call fcn.0041b840
push eax
push 0x6aae14
push 0
push 0x40
push 0xff
push 0
add edi, 0xfffffff4
push edi
lea ecx, [esi + 9]
push ecx
jmp 0x4a0efe
cmp dword [esp + 0x93c], 0x64
je 0x4a0f0b
push 0x198e
call fcn.0041b840
push eax
push 0x6aae14
push 0
push 0
push 0x80
push 0xff
add edi, 0xfffffff4
push edi
lea edx, [esi + 9]
push edx
push 0x21f3fa0
call fcn.0052bfb0
add esp, 0x28
mov eax, dword [esp + 0x20]
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0xff
mov byte [esp + 0x30], 0xff
mov cl, byte [eax + 0x18]
mov al, 0xc8
mov byte [esp + 0x3d], cl
mov byte [esp + 0xb2], al
mov byte [esp + 0xb3], al
xor eax, eax
mov ecx, 0xf
lea edi, [esp + 0xbe]
mov byte [esp + 0xa0], 0xff
mov byte [esp + 0xa1], 0xff
mov byte [esp + 0xa2], 0xff
mov byte [esp + 0xa3], 0x80
mov byte [esp + 0xa4], 0xff
mov byte [esp + 0xa5], 0xff
mov byte [esp + 0xa6], 0
mov byte [esp + 0xa7], 0x80
mov byte [esp + 0xa8], 0xff
mov byte [esp + 0xa9], 0
mov byte [esp + 0xaa], 0xff
mov byte [esp + 0xab], 0x40
mov byte [esp + 0xac], 0xff
mov byte [esp + 0xad], 0xff
mov byte [esp + 0xae], 0
mov byte [esp + 0xaf], 0xff
mov byte [esp + 0xb0], 0x80
mov byte [esp + 0xb1], 0
mov byte [esp + 0xb4], 0xff
mov byte [esp + 0xb5], 0xff
mov byte [esp + 0xb6], 0
mov byte [esp + 0xb7], 0xff
mov byte [esp + 0xb8], 0x80
mov byte [esp + 0xb9], 0
mov byte [esp + 0xba], 0xff
mov byte [esp + 0xbb], 0xff
mov byte [esp + 0xbc], 0x80
mov byte [esp + 0xbd], 0xff
rep stosd dword es:[edi], eax
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x4a1206
movzx eax, byte [esp + 0x3d]
lea eax, [eax + eax*2]
mov cl, byte [esp + eax + 0xa0]
mov dl, byte [esp + eax + 0xa1]
mov al, byte [esp + eax + 0xa2]
mov byte [esp + 0x18], al
mov eax, dword [esp + 0x90]
test eax, eax
mov byte [esp + 0x38], cl
mov byte [esp + 0x60], dl
je 0x4a10fa
mov ecx, dword [esp + 0x24]
push ecx
push 0x12
mov ecx, 0x851aa0
call fcn.004c3db0
test eax, eax
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xa0]
je 0x4a10b0
cmp eax, 0x32
jg 0x4a10ab
push eax
mov eax, dword [edx]
push eax
push str._s___d_
push ecx
call fcn.005baa1d
add esp, 0x10
jmp 0x4a10c1
add eax, 0xffffffce
jmp 0x4a1097
mov eax, dword [edx]
push eax
push 0x6aae14
push ecx
call fcn.005baa1d
add esp, 0xc
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x60]
mov edi, dword [esp + 0x14]
lea edx, [esp + 0xa0]
push edx
mov edx, dword [esp + 0x3c]
push 0x6aae14
push 0
push eax
push ecx
push edx
lea eax, [edi + 0xa]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x21f3fa0
call fcn.0052bfb0
add esp, 0x24
jmp 0x4a10fe
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x3e], 5
je 0x4a118c
mov edx, dword [esp + 0x24]
push edx
push 0x12
mov ecx, 0x851aa0
call fcn.004c3db0
test eax, eax
je 0x4a118c
cmp eax, 0x32
jle 0x4a118c
lea eax, [eax + eax*4 - 0xfa]
push eax
push 0x1e5
call fcn.0041b840
add esp, 4
push eax
push 0x13da
call fcn.0041b840
add esp, 4
push eax
lea ecx, [esp + 0xac]
push 0x6ac7f0
push ecx
call fcn.005baa1d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0xb4]
push edx
mov edx, dword [esp + 0x50]
push 0x6aae14
push 0
push eax
push ecx
push edx
lea eax, [edi + 0x19]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x21f3fa0
call fcn.0052bfb0
add esp, 0x38
mov eax, dword [esp + 0x40]
test eax, eax
jne case.default.0x4a11ae
mov eax, dword [esp + 0x64]
test eax, eax
je case.default.0x4a11ae
dec eax
cmp eax, 0xa
ja case.default.0x4a11ae
jmp dword [eax*4 + 0x4a1c60]
push 0x1507
jmp 0x4a11dd
push 0x1508
jmp 0x4a11dd
push 0x1509
jmp 0x4a11dd
push 0x150a
jmp 0x4a11dd
push 0x150b
jmp 0x4a11dd
push 0x152e
call fcn.0041b840
add esp, 4
test eax, eax
je case.default.0x4a11ae
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 0x4a1262
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4a121b
mov eax, dword [esp + 0x64]
test eax, eax
mov byte [esp + 0x60], 0
jne 0x4a1220
mov byte [esp + 0x60], 0xff
mov eax, dword [esp + 0x90]
test eax, eax
je case.default.0x4a11ae
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
push edx
push 0x6aae14
push 0
push 0
push eax
push 0xff
add ecx, 0xa
push ecx
lea edx, [esi + 0xa]
push edx
push 0x21f3fa0
call fcn.0052bfb0
add esp, 0x24
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x93c]
cmp eax, 3
jne 0x4a1397
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x4c]
lea eax, [esp + 0x120]
push eax
push edx
mov ecx, 0x851aa0
call fcn.004c1030
lea eax, [esp + 0x120]
push eax
push 0x1462
call fcn.0041b840
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*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e9614]
add esp, 0x28
lea edx, [esp + 0x120]
push edx
movzx edx, byte [eax + 0x21e9615]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
imul ecx, ecx, 0x22
movzx edx, byte [ecx + 0x852b33]
imul edx, dword [eax + 0x21e9618]
push edx
mov ecx, 0x851aa0
inc ebp
call fcn.004c1030
mov ecx, dword [0x705814]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a1385
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x12c]
push ecx
mov ecx, 0x851aa0
call fcn.004c1150
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b840
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
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 0x4a19d0
lea ecx, [esp + 0x120]
push ecx
push 0x1463
jmp 0x4a19a7
cmp eax, 4
jne 0x4a14e2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x4c]
lea eax, [esp + 0x120]
push eax
push edx
mov ecx, 0x851aa0
call fcn.004c1030
lea eax, [esp + 0x120]
push eax
push 0x1462
call fcn.0041b840
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 ecx, byte [eax + 0x21e96a2]
imul ecx, dword [eax + 0x21e96ac]
add esp, 0x28
lea edx, [esp + 0x120]
push edx
push ecx
mov ecx, 0x851aa0
inc ebp
mov dword [esp + 0x20], eax
call fcn.004c1030
mov eax, dword [esp + 0x18]
mov edx, dword [0x851aa8]
cmp edx, dword [eax + 0x21e96ac]
jae 0x4a146b
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b840
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a19c7
mov ecx, dword [0x705814]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a199a
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x12c]
push ecx
mov ecx, 0x851aa0
call fcn.004c1150
lea edx, [esp + 0x120]
push edx
push 0x1464
call fcn.0041b840
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
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 0x4a19d0
mov eax, dword [esp + 0x92c]
test eax, eax
je 0x4a1852
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4a19da
mov ecx, 0x851aa0
call fcn.004c3bf0
cmp eax, 1
jne 0x4a1779
mov ecx, dword [0x8592e0]
push ecx
mov ecx, 0x859354
call fcn.00477a30
test eax, eax
je 0x4a175d
mov al, byte [eax + 4]
fld qword [0x6a8670]
cmp al, 1
fstp qword [esp + 0x78]
jne 0x4a1544
push 0x101
jmp 0x4a158d
cmp al, 2
jne 0x4a1564
push 0x201
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x851aa0
call fcn.004c6870
mov edx, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x4a15a2
cmp al, 3
jne 0x4a1584
push 0x301
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x851aa0
call fcn.004c6870
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
jmp 0x4a15a2
cmp al, 4
jne 0x4a15a2
push 0x401
lea edx, [esp + 0x1c]
mov ecx, 0x851aa0
push edx
call fcn.004c6870
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, 0x851aa0
call fcn.004c2160
test eax, eax
je 0x4a15d0
movzx eax, byte [eax + 4]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x6adf70]
fstp qword [esp + 0x78]
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x4c]
test eax, eax
lea edx, [esp + 0x120]
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
mov dword [esp + 0x18], eax
push edx
jge 0x4a15f5
fadd qword [0x6a8668]
fmul qword [esp + 0x7c]
call fcn.005ba9a8
mov ecx, dword [esp + 0x1c]
sub ecx, eax
push ecx
mov ecx, 0x851aa0
call fcn.004c1030
mov eax, dword [0x8592e0]
push eax
mov ecx, 0x851aa0
call fcn.004c7420
test eax, eax
jne 0x4a1652
push 0x1f6e
call fcn.0041b840
push eax
push 0x6aae14
push ebp
lea ecx, [ebp + 3]
imul ecx, ecx, 0xf
push 0
push 0
push 0
push 0xff
add ecx, edi
push ecx
lea edx, [esi + 0xa]
push edx
call ebx
add esp, 0x28
inc ebp
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x4c]
test eax, eax
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
mov dword [esp + 0x18], eax
jge 0x4a166f
fadd qword [0x6a8668]
fmul qword [esp + 0x78]
call fcn.005ba9a8
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp dword [0x851aa8], ecx
jae 0x4a16b2
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b840
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a173b
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a170e
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x12c]
push eax
mov ecx, 0x851aa0
call fcn.004c1150
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b840
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a1730
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b840
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x30]
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
add esp, 0x28
mov byte [esp + 0x2c], 0x96
mov byte [esp + 0x28], 0x96
mov byte [esp + 0x30], 0x96
inc ebp
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
lea ecx, [esp + 0x120]
push ecx
push eax
mov ecx, 0x851aa0
call fcn.004c1030
jmp 0x4a17c5
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
lea ecx, [esp + 0x120]
push ecx
push eax
mov ecx, 0x851aa0
call fcn.004c1030
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a17c5
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x2c]
push ecx
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x12c]
push eax
mov ecx, 0x851aa0
call fcn.004c1150
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
mov ecx, dword [0x851aa8]
cmp ecx, eax
lea eax, [esp + 0x120]
push eax
push 0x1464
jae 0x4a17ff
call fcn.0041b840
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a181f
call fcn.0041b840
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x30]
add esp, 4
push eax
mov eax, dword [esp + 0x34]
push str._s_:__s
push ebp
push 0
push ecx
push edx
push eax
lea ecx, [ebp + 3]
imul ecx, ecx, 0xf
add ecx, edi
lea edx, [esi + 0xa]
push ecx
push edx
call ebx
mov ecx, dword [0x705814]
mov eax, dword [ecx]
add esp, 0x28
push 0x24
call dword [eax + 4]
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0xff
mov byte [esp + 0x30], 0xff
jmp 0x4a19d9
cmp dword [0x854e94], 0x65
jne 0x4a191c
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x50]
test eax, eax
je 0x4a19da
lea edx, [esp + 0x120]
push edx
push eax
mov ecx, 0x851aa0
call fcn.004c1030
mov ecx, dword [0x705814]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a18dd
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x3c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x12c]
push ecx
mov ecx, 0x851aa0
call fcn.004c1150
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b840
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x20]
jmp 0x4a18ff
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b840
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x38]
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 0x4a19d4
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x4a19da
lea ecx, [esp + 0x120]
push ecx
push eax
mov ecx, 0x851aa0
call fcn.004c1030
mov ecx, dword [0x705814]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a199a
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x3c]
push ecx
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0x12c]
push eax
mov ecx, 0x851aa0
call fcn.004c1150
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b840
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a19bc
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b840
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x30]
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 + 0x44]
mov al, byte [ecx + 4]
cmp al, 0x1e
je 0x4a1a44
cmp al, 0x5f
je 0x4a1a44
cmp al, 0x1b
je 0x4a1a44
cmp al, 0x1c
je 0x4a1a44
cmp al, 0x1d
je 0x4a1a44
mov ax, word [esp + 0x9c]
test ax, ax
je 0x4a1a44
movzx edx, ax
movzx eax, word [esp + 0x4c]
push edx
push eax
push 0x1465
call fcn.0041b840
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x34]
add esp, 4
push eax
mov eax, dword [esp + 0x38]
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 [0x851aa4]
test eax, eax
je 0x4a1a8e
mov eax, dword [0x21f43b0]
test eax, eax
je 0x4a1a8e
mov eax, dword [esp + 0x44]
movzx ecx, byte [eax + 5]
movzx edx, byte [eax + 4]
mov eax, dword [esp + 0x30]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x34]
push 0x6ae524
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 + 0x20]
mov eax, dword [edx + 4]
test eax, eax
je 0x4a1ac4
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4a1ac4
mov ebx, dword [esp + 0x44]
mov eax, ebp
imul eax, eax, 0xf
lea ecx, [eax + edi + 0x32]
push ecx
lea edx, [esi + 0xa]
push edx
lea ecx, [ebx + 0x40]
call fcn.005172b0
add ebp, dword [ebx + 0xa4]
cmp dword [esp + 0x93c], 9
je 0x4a1b66
mov eax, dword [esp + 0x44]
mov al, byte [eax + 4]
cmp al, 0x1e
je 0x4a1b66
cmp al, 0x5f
je 0x4a1b66
cmp al, 0x1b
je 0x4a1b66
cmp al, 0x1c
je 0x4a1b66
cmp al, 0x1d
je 0x4a1b66
mov al, byte [esp + 0x53]
test al, al
je 0x4a1b66
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4a1b66
movzx eax, byte [esp + 0x4b]
xor ebx, ebx
test eax, eax
jle 0x4a1b66
imul ebp, ebp, 0xf
lea ebp, [edi + ebp + 0x35]
add esi, 0xa
lea ecx, [ecx]
mov al, byte [esp + ebx + 0x94]
test al, al
je 0x4a1b46
push 1
push 1
push 1
movzx ecx, al
push ecx
mov ecx, dword [esp + 0x54]
push 0x1e
push ebp
push esi
push 0xffffffffffffffff
call fcn.0049c4d0
jmp 0x4a1b59
push 0x10
push 0x10
push ebp
push esi
push 0x7f000000
call fcn.0049d770
add esp, 0x14
movzx eax, byte [esp + 0x4b]
inc ebx
add esi, 0x14
cmp ebx, eax
jl 0x4a1b20
mov ecx, 0x21f3fa0
call fcn.0052bfa0
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x918
ret 0x24