Function at 0x49eb00
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 0x4a2352
push ebp
mov ecx, 0x7063a0
call fcn.0041dfa0
xor eax, eax
mov al, byte [ebx + 5]
xor ecx, ecx
mov cl, byte [ebx + 4]
push eax
push ecx
mov ecx, 0x856fcc
call fcn.0045f2c0
mov ebp, eax
cmp ebp, edi
mov dword [esp + 0x1c], ebp
je 0x4a2351
mov eax, dword [0x6f3558]
cmp eax, edi
je 0x49eb57
cmp eax, 0x64
jne 0x49eb81
mov eax, dword [ebp]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49eb60
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 0x49eb94
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, 0x84f768
call fcn.004bfaa0
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 0x49ec70
cmp al, 0x2c
je 0x49ec70
cmp al, 0x64
je 0x49ec70
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.0x49ece4
jmp dword [eax*4 + 0x4a2360]
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x21ea332]
jmp 0x49ee2d
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x856d54]
jmp 0x49ee2d
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x856e64]
jmp 0x49ee2d
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e72dc]
movzx eax, byte [eax + 0x21e72dd]
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*8]
imul ecx, ecx, 0x22
mov ax, word [ecx + 0x8507fc]
mov word [esp + 0x4c], ax
jmp case.0x49ece4.5
movzx eax, bl
lea ecx, [eax + eax*4]
mov ax, word [ecx*8 + 0x21e736c]
mov word [esp + 0x4c], ax
jmp case.0x49ece4.5
mov ecx, dword [0x707160]
mov eax, dword [ecx]
mov eax, dword [eax + 0x2004]
test eax, eax
je case.0x49ece4.5
mov ecx, dword [eax + 0x1938]
mov ax, word [ecx + 4]
mov word [esp + 0x4c], ax
jmp case.0x49ece4.5
movzx ecx, byte [esp + 0x934]
imul ecx, ecx, 0x22
mov ax, word [ecx + 0x21e7090]
mov word [esp + 0x4c], ax
jmp case.0x49ece4.5
mov eax, dword [0x84ef0c]
test eax, eax
je case.0x49ece4.5
mov cx, word [eax + 0x36dc]
jmp 0x49ee2d
mov eax, dword [0x707160]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2008]
test ecx, ecx
je case.0x49ece4.5
call fcn.004a8720
mov edx, dword [esp + 0x93c]
mov dword [esp + 0x4c], eax
jmp case.0x49ece4.5
cmp edi, 0xffffffff
je 0x49ee12
cmp edi, 0xf0
jge 0x49edfd
mov eax, edi
imul eax, eax, 0x22
mov cx, word [eax + 0x854d72]
jmp 0x49ee2d
cmp edi, 0x1e0
jge case.0x49ece4.5
lea eax, [edi + edi*4]
mov cx, word [eax*8 + 0x21e5764]
jmp 0x49ee2d
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 + 0x8507fc]
mov word [esp + 0x4c], cx
mov ecx, dword [esp + 0x92c]
test ecx, ecx
je 0x49ee41
mov dword [esp + 0x4c], esi
cmp edx, 9
je 0x49f14b
mov eax, dword [esp + 0x44]
mov al, byte [eax + 4]
cmp al, 0x19
je 0x49f14b
cmp al, 0x2c
je 0x49f14b
cmp al, 0x1e
je 0x49f14b
cmp al, 0x5f
je 0x49f14b
cmp al, 0x18
je 0x49f14b
cmp al, 0x27
je 0x49f14b
cmp al, 0x64
je 0x49f14b
test ecx, ecx
mov byte [esp + 0x53], 1
jne 0x49f14b
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.0x49eeb3
jmp dword [eax*4 + 0x4a2388]
mov ecx, dword [esp + 0x938]
imul ecx, ecx, 0x22
mov bl, byte [ecx + esi + 0x21ea334]
jmp 0x49f01e
mov edx, dword [esp + 0x938]
imul edx, edx, 0x22
mov bl, byte [edx + esi + 0x856d56]
jmp 0x49f01e
mov eax, dword [esp + 0x938]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x856e66]
jmp 0x49f01e
movzx eax, byte [esp + 0x930]
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e72dc]
movzx edx, byte [eax + 0x21e72dd]
lea ecx, [ecx + ecx*2]
lea eax, [edx + ecx*8]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x8507fe]
jmp 0x49f01e
movzx eax, byte [esp + 0x930]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21e736e]
jmp 0x49f01e
mov edx, dword [0x707160]
mov eax, dword [edx]
mov eax, dword [eax + 0x2004]
test eax, eax
je case.0x49eeb3.5
mov ecx, dword [eax + 0x1938]
mov bl, byte [ecx + esi + 6]
jmp 0x49f01e
mov eax, dword [0x84ef0c]
test eax, eax
je case.0x49eeb3.5
mov edx, eax
mov bl, byte [esi + edx + 0x36de]
jmp 0x49f01e
movzx eax, byte [esp + 0x934]
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x21e7092]
jmp 0x49f01e
mov ecx, dword [0x707160]
mov edx, dword [ecx]
mov ecx, dword [edx + 0x2008]
test ecx, ecx
je case.0x49eeb3.5
push esi
call fcn.004a8760
movzx bx, al
mov dword [esp + 0x4c], ebx
jmp 0x49f01e
mov eax, dword [esp + 0x938]
cmp eax, 0xffffffff
je 0x49effe
cmp eax, 0xf0
jge 0x49efe0
imul eax, eax, 0x22
mov bl, byte [eax + esi + 0x854d74]
jmp 0x49f01e
cmp eax, 0x1e0
jge case.0x49eeb3.5
mov eax, dword [esp + 0x938]
lea ecx, [eax + eax*4]
mov bl, byte [esi + ecx*8 + 0x21e5766]
jmp 0x49f01e
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 + 0x8507fe]
test bl, bl
mov byte [esp + 0x34], bl
je case.0x49eeb3.5
mov edx, dword [esp + 0x34]
push edx
push 0x1e
mov ecx, 0x856fcc
call fcn.0045f2c0
test eax, eax
je case.0x49eeb3.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 0x49f06e
mov dl, byte [eax + 0x29]
mov byte [esp + 0x8c], dl
jmp 0x49f081
mov cl, byte [eax + 0x29]
test cl, cl
je 0x49f081
cmp dl, cl
je 0x49f081
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 0x49eea2
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 0x49f163
mov dword [esp + 0x10], esi
mov al, byte [esp + 0x8c]
test al, al
je 0x49f172
inc dword [esp + 0x10]
cmp word [esp + 0x58], 0
je 0x49f17e
inc dword [esp + 0x10]
cmp word [esp + 0x5c], 0
je 0x49f18a
inc dword [esp + 0x10]
cmp word [esp + 0x54], 0
je 0x49f196
inc dword [esp + 0x10]
cmp word [esp + 0x70], 0
je 0x49f1a2
inc dword [esp + 0x10]
cmp word [esp + 0x68], 0
je 0x49f1ae
inc dword [esp + 0x10]
cmp word [esp + 0x74], 0
je 0x49f1ba
inc dword [esp + 0x10]
cmp word [esp + 0x6c], 0
je 0x49f1c6
inc dword [esp + 0x10]
cmp word [esp + 0x80], 0
je 0x49f1d5
inc dword [esp + 0x10]
cmp word [esp + 0x84], 0
je 0x49f1e4
inc dword [esp + 0x10]
mov al, byte [esp + 0x3f]
test al, al
je 0x49f1f0
inc dword [esp + 0x10]
cmp word [esp + 0x60], 0
je 0x49f1fc
inc dword [esp + 0x10]
test ecx, ecx
je 0x49f25c
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x49f20b
inc dword [esp + 0x10]
mov ecx, 0x84f768
call fcn.004c4870
cmp eax, 1
jne case.0x49f2a1.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 0x49f236
cmp al, 0x5f
jne 0x49f23a
add dword [esp + 0x10], esi
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x84f768
call fcn.004c83a0
test eax, eax
jne case.0x49f2a1.5
inc dword [esp + 0x10]
jmp case.0x49f2a1.5
cmp edx, 3
je 0x49f28b
cmp edx, 4
je 0x49f28b
cmp dword [0x852b5c], 0x65
jne 0x49f27d
mov eax, dword [ebp + 0x50]
test eax, eax
je 0x49f295
mov eax, dword [esp + 0x10]
inc eax
jmp 0x49f291
mov eax, dword [ebp + 0x4c]
test eax, eax
je 0x49f295
mov eax, dword [esp + 0x10]
inc eax
jmp 0x49f291
mov eax, dword [esp + 0x10]
add eax, esi
mov dword [esp + 0x10], eax
lea eax, [edx - 1]
cmp eax, 9
ja case.default.0x49f2a1
jmp dword [eax*4 + 0x4a23b0]
imul edi, edi, 0x22
add edi, 0x21ea33a
mov dword [esp + 0x24], edi
jmp case.0x49f2a1.5
imul edi, edi, 0x22
add edi, 0x856d5c
mov dword [esp + 0x24], edi
jmp case.0x49f2a1.5
imul edi, edi, 0x22
add edi, 0x856e6c
mov dword [esp + 0x24], edi
jmp case.0x49f2a1.5
movzx eax, bl
lea eax, [eax + eax*2]
shl eax, 2
movzx ecx, byte [eax + 0x21e72dc]
movzx eax, byte [eax + 0x21e72dd]
lea edx, [ecx + ecx*2]
lea eax, [eax + edx*8]
jmp 0x49f3bd
movzx eax, bl
lea ecx, [eax + eax*4]
lea edx, [ecx*8 + 0x21e7378]
mov dword [esp + 0x24], edx
jmp case.0x49f2a1.5
mov eax, dword [0x707160]
mov ecx, dword [eax]
mov eax, dword [ecx + 0x2004]
test eax, eax
je case.0x49f2a1.5
mov eax, dword [eax + 0x1938]
add eax, 0xc
jmp 0x49f3c5
mov eax, dword [0x84ef0c]
test eax, eax
je case.0x49f2a1.5
add eax, 0x36e4
jmp 0x49f3c5
movzx eax, byte [esp + 0x934]
imul eax, eax, 0x22
add eax, 0x21e7098
jmp 0x49f3c5
mov edx, dword [0x707160]
mov eax, dword [edx]
mov ecx, dword [eax + 0x2008]
test ecx, ecx
je case.0x49f2a1.5
call fcn.004a8740
jmp 0x49f3c5
cmp edi, 0xffffffff
je 0x49f3ac
cmp edi, 0xf0
jge 0x49f394
imul edi, edi, 0x22
add edi, 0x854d7a
mov dword [esp + 0x24], edi
jmp case.0x49f2a1.5
cmp edi, 0x1e0
jge case.0x49f2a1.5
lea ecx, [edi + edi*4]
lea edx, [ecx*8 + 0x21e576c]
mov dword [esp + 0x24], edx
jmp case.0x49f2a1.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, 0x850804
mov dword [esp + 0x24], eax
mov edx, dword [esp + 0x44]
mov al, byte [edx + 4]
cmp al, 0x19
je 0x49f3e4
cmp al, 0x2c
je 0x49f3e4
cmp al, 0x1e
je 0x49f3e4
cmp al, 0x5f
je 0x49f3e4
cmp al, 0x64
jne 0x49f3ec
mov dword [esp + 0x24], 0
mov edi, dword [ebp + 4]
test edi, edi
je 0x49f4a2
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 0x3c]
cmp eax, 0x10
lea ebp, [ebx + 0x24]
jb 0x49f40b
mov eax, dword [ebp + 4]
jmp 0x49f40e
lea eax, [ebp + 4]
mov esi, edi
mov cl, byte [eax]
mov dl, cl
cmp cl, byte [esi]
jne 0x49f434
test dl, dl
je 0x49f430
mov cl, byte [eax + 1]
mov dl, cl
cmp cl, byte [esi + 1]
jne 0x49f434
add eax, 2
add esi, 2
test dl, dl
jne 0x49f410
xor eax, eax
jmp 0x49f439
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x49f48e
push edi
mov ecx, ebp
call fcn.00409830
mov edx, dword [0x84f030]
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.0051c4c0
push 0xf
mov ecx, esi
call fcn.0051c420
mov ecx, esi
call fcn.0051c7b0
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
push ecx
mov ecx, esi
call fcn.0051d080
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 0x49f4b1
inc dword [esp + 0x10]
mov eax, dword [esp + 0x44]
mov bl, byte [eax + 4]
cmp bl, 0x1e
jne 0x49f52b
cmp word [ebp + 0xc], 0
je 0x49f4c8
inc dword [esp + 0x10]
mov al, byte [ebp + 0xe]
test al, al
je 0x49f4d3
inc dword [esp + 0x10]
mov al, byte [ebp + 0xf]
test al, al
je 0x49f4de
inc dword [esp + 0x10]
mov al, byte [ebp + 0x10]
test al, al
je 0x49f4e9
inc dword [esp + 0x10]
mov al, byte [ebp + 0x11]
test al, al
je 0x49f4f4
inc dword [esp + 0x10]
mov al, byte [ebp + 0x12]
test al, al
je 0x49f4ff
inc dword [esp + 0x10]
mov al, byte [ebp + 0x13]
test al, al
je 0x49f50a
inc dword [esp + 0x10]
mov al, byte [ebp + 0x14]
test al, al
je 0x49f515
inc dword [esp + 0x10]
mov al, byte [ebp + 0x15]
test al, al
je 0x49f520
inc dword [esp + 0x10]
cmp word [ebp + 0x16], 0
je 0x49f52b
inc dword [esp + 0x10]
cmp word [ebp + 0x34], 0
je 0x49f536
inc dword [esp + 0x10]
cmp bl, 0x1e
je 0x49f54b
cmp bl, 0x5f
je 0x49f54b
cmp word [ebp + 0xc], 0
je 0x49f54b
inc dword [esp + 0x10]
movzx eax, byte [ebp + 0xe]
cmp eax, 5
ja case.default.0x49f558
jmp dword [eax*4 + 0x4a23d8]
mov al, byte [0x851b1d]
test al, al
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
cmp byte [0x851b1d], 1
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
mov al, byte [0x851b1d]
test al, al
je case.default.0x49f558
cmp al, 1
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
cmp byte [0x851b1d], 3
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
cmp byte [0x851b1d], 2
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
mov al, byte [0x851b1d]
cmp al, 3
je case.default.0x49f558
cmp al, 2
je case.default.0x49f558
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f5d1
mov edx, dword [esp + 0x40]
mov cl, byte [ebp + 0xf]
xor eax, eax
test cl, cl
mov cl, byte [0x851b22]
je 0x49f5e9
test cl, cl
jne 0x49f5e9
mov eax, 1
cmp byte [ebp + 0x10], 0
je 0x49f5f9
cmp cl, 1
jne 0x49f5f9
mov eax, 1
cmp byte [ebp + 0x11], 0
je 0x49f609
cmp cl, 2
jne 0x49f609
mov eax, 1
cmp byte [ebp + 0x12], 0
je 0x49f619
cmp cl, 3
jne 0x49f619
mov eax, 1
cmp byte [ebp + 0x13], 0
je 0x49f629
cmp cl, 4
jne 0x49f629
mov eax, 1
cmp byte [ebp + 0x14], 0
je 0x49f634
cmp cl, 5
je 0x49f649
test eax, eax
jne 0x49f649
xor edx, edx
mov esi, 1
mov dword [esp + 0x40], edx
mov dword [esp + 0x64], esi
jmp 0x49f65c
test edx, edx
jne 0x49f658
mov esi, 1
mov dword [esp + 0x64], esi
jmp 0x49f65c
mov esi, dword [esp + 0x64]
movzx eax, byte [0x851b1e]
xor edi, edi
sub eax, edi
je 0x49f690
dec eax
je 0x49f67d
dec eax
jne 0x49f69f
cmp byte [ebp + 0x15], 3
jne 0x49f69f
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f6a3
mov al, byte [ebp + 0x15]
test al, al
je 0x49f69f
cmp al, 1
je 0x49f69f
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f6a3
mov al, byte [ebp + 0x15]
test al, al
je 0x49f69f
xor edx, edx
mov dword [esp + 0x40], edx
jmp 0x49f6a3
cmp edx, edi
jne 0x49f6b0
cmp esi, edi
jne 0x49f6b0
mov esi, 2
mov dword [esp + 0x64], esi
cmp bl, 0x1e
je 0x49f6e1
cmp bl, 0x5f
je 0x49f6e1
mov ax, word [ebp + 0xc]
cmp ax, di
je 0x49f6e1
movzx ecx, ax
cmp dword [0x84f778], ecx
jge 0x49f6e1
xor edx, edx
cmp esi, edi
mov dword [esp + 0x40], edx
jne 0x49f6e1
mov esi, 3
mov dword [esp + 0x64], esi
mov al, byte [ebp + 0x2a]
cmp al, 0x40
je 0x49f6ee
cmp al, 0x41
jne 0x49f709
cmp al, 0x40
mov cl, byte [0x852b24]
jne 0x49f6fa
test cl, cl
je 0x49f709
cmp al, 0x41
jne 0x49f703
cmp cl, 1
je 0x49f709
mov dword [esp + 0x40], edi
jmp 0x49f70d
cmp edx, edi
jne 0x49f719
cmp esi, edi
jne 0x49f719
mov dword [esp + 0x64], 0xb
cmp dword [esp + 0x93c], 9
je 0x49f755
cmp bl, 0x1e
je 0x49f755
cmp bl, 0x5f
je 0x49f755
cmp bl, 0x19
je 0x49f755
cmp bl, 0x2c
je 0x49f755
cmp bl, 0x64
je 0x49f755
cmp bl, 0x1b
je 0x49f755
cmp bl, 0x1c
je 0x49f755
cmp bl, 0x1d
je 0x49f755
cmp bl, 0x5e
je 0x49f755
cmp bl, 0x2b
jne 0x49f761
mov dword [esp + 0x40], 1
mov dword [esp + 0x64], edi
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x49f786
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x49f786
mov eax, dword [esp + 0x64]
test eax, eax
je 0x49f786
inc dword [esp + 0x10]
mov esi, dword [esp + 0x24]
push esi
push 0xc
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x58], 0
jne 0x49f7a7
test eax, eax
je 0x49f7a7
inc dword [esp + 0x10]
push esi
push 0x10
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x5c], 0
jne 0x49f7c4
test eax, eax
je 0x49f7c4
inc dword [esp + 0x10]
push esi
push 0xe
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x54], 0
jne 0x49f7e1
test eax, eax
je 0x49f7e1
inc dword [esp + 0x10]
push esi
push 0
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x70], 0
jne 0x49f7fe
test eax, eax
je 0x49f7fe
inc dword [esp + 0x10]
push esi
push 2
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x68], 0
jne 0x49f81b
test eax, eax
je 0x49f81b
inc dword [esp + 0x10]
push esi
push 4
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x74], 0
jne 0x49f838
test eax, eax
je 0x49f838
inc dword [esp + 0x10]
push esi
push 6
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x6c], 0
jne 0x49f855
test eax, eax
je 0x49f855
inc dword [esp + 0x10]
push esi
push 8
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x80], 0
jne 0x49f875
test eax, eax
je 0x49f875
inc dword [esp + 0x10]
push esi
push 0xa
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x84], 0
jne 0x49f895
test eax, eax
je 0x49f895
inc dword [esp + 0x10]
push esi
push 0x12
mov ecx, 0x84f768
call fcn.004c4a30
test eax, eax
je 0x49f8af
cmp eax, 0x32
jle 0x49f8af
inc dword [esp + 0x10]
mov al, byte [esp + 0x94c]
mov ebp, dword [0x6f44e0]
test al, al
mov eax, dword [0x706454]
jne 0x49f8d4
mov ecx, dword [esp + 0x940]
mov edi, eax
sub edi, ebp
add edi, ecx
jmp 0x49f8ec
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 [0x706458]
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 0x49f948
cmp dl, 0x5f
je 0x49f948
cmp dl, 0x1b
je 0x49f948
cmp dl, 0x1c
je 0x49f948
cmp dl, 0x1d
je 0x49f948
mov dl, byte [esp + 0x53]
test dl, dl
je 0x49f948
mov dl, byte [esp + 0x4b]
test dl, dl
je 0x49f948
add ebx, 0x14
mov dword [esp + 0x10], ebx
test edi, edi
jge 0x49f976
mov dl, byte [esp + 0x94c]
test dl, dl
je 0x49f96f
mov edx, 0xfffffff8
sub edx, ebp
cmp edi, edx
jge 0x49f96f
mov edx, dword [esp + 0x44]
mov edx, dword [edx + 0x20]
lea edi, [edx + eax + 0x10]
jmp 0x49f972
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 0x49f9a5
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 0x49f9af
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 0x49f9e5
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 [0x7034d4]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x49fa40
cmp byte [esp + 0x3e], 0xe
je 0x49fa40
cmp dword [esp + 0x93c], 0x64
je 0x49fa40
push 0xcd1d1f24
push 0xf
push 0x78
lea ecx, [esi - 0x14]
push ecx
push edi
call fcn.00501110
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.0049cc00
mov ebx, dword [esp + 0x948]
test ebx, ebx
mov dword [esp + 0x90], 0
jne 0x49fa83
mov ecx, dword [esp + 0x10]
mov edx, dword [0x6f44e0]
push 0xcd1d1f24
push ecx
push edx
push esi
push edi
call fcn.00501110
add esp, 0x14
mov ebx, 0x49d060
mov dword [esp + 0x90], 1
jmp 0x49fa9a
mov eax, dword [0x84ef0c]
mov dword [eax + 0x371c], edi
mov ecx, dword [0x84ef0c]
mov dword [ecx + 0x3720], esi
mov ecx, 0x21f1c78
call fcn.005312a0
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0xb
xor ebp, ebp
call dword [edx + 4]
test al, al
je 0x49facc
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x49facc
mov eax, dword [esp + 0x64]
test eax, eax
je 0x49facc
mov ebp, 1
mov eax, dword [esp + 0x44]
cmp byte [eax + 4], 0x1e
jne 0x49fd4d
push 0x143d
add edi, 0xa
call fcn.0041b230
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 0x49fb44
push 0x143e
call fcn.0041b230
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 0x49fb7d
push 0x143f
call fcn.0041b230
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 0x49fbb6
push 0x1440
call fcn.0041b230
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 0x49fbef
push 0x1441
call fcn.0041b230
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 0x49fc28
push 0x1442
call fcn.0041b230
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 0x49fc61
push 0x1443
call fcn.0041b230
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 0x49fc9a
push 0x1444
call fcn.0041b230
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 0x49fcd3
push 0x1445
call fcn.0041b230
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 0x49fd0c
push 0x1446
call fcn.0041b230
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.0x4a00a7
push 0x1505
call fcn.0041b230
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 0x4a02ae
cmp byte [esp + 0x3e], 5
jne 0x4a0123
mov esi, dword [esp + 0x24]
push esi
push 0x12
mov ecx, 0x84f768
xor edi, edi
call fcn.004c4a30
test eax, eax
je 0x49fd81
cmp eax, 0x32
jg 0x49fd81
push eax
mov ecx, 0x84f768
call fcn.004c4bf0
mov edi, eax
push esi
push 0x12
mov ecx, 0x84f768
call fcn.004c4a30
mov esi, dword [esp + 0x20]
movzx ecx, word [esi + 0x2e]
test eax, eax
movzx eax, word [esp + 0x88]
mov dword [esp + 0x38], eax
je 0x49fdc2
add ecx, eax
add ecx, edi
push ecx
lea edx, [esp + 0x124]
push 0x6ad540
push edx
call fcn.005b8b8d
add esp, 0xc
jmp 0x49fdea
add ecx, eax
add ecx, edi
push ecx
push 0x1447
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x128]
push str._s__4d
push edx
call fcn.005b8b8d
add esp, 0x10
lea eax, [esp + 0x120]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fdf4
push 0
lea ecx, [esp + 0x7c]
push ecx
sub eax, edx
push eax
lea edx, [esp + 0x12c]
push edx
mov ecx, 0x21f1c78
call fcn.00532e40
mov ax, word [esp + 0x18]
test ax, ax
jne 0x49fe73
cmp word [esp + 0x88], ax
jne 0x49fe73
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.005b8b8d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49fe56
lea edi, [esp + 0x120]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49fe67
mov esi, edx
jmp 0x49fec9
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.005b8b8d
lea eax, [esp + 0x430]
add esp, 0xc
mov esi, eax
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49feb0
lea edi, [esp + 0x120]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x49fec1
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, 0x84f768
call fcn.004c4a30
push 0x1447
mov esi, eax
call fcn.0041b230
add esp, 4
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x49ff00
sub eax, edx
push 0
push eax
push 0x1447
call fcn.0041b230
add esp, 4
push eax
mov ecx, 0x21f1c78
call fcn.00532f50
test esi, esi
mov esi, dword [esp + 0x34]
mov dword [esp + 0x18], eax
je 0x49ff9c
mov ecx, dword [esp + 0x14]
mov eax, ebp
imul eax, eax, 0xf
push 0x1447
add esi, 0xa
lea edi, [eax + ecx + 0x28]
call fcn.0041b230
cmp word [esp + 0x8c], 0
push eax
push ebp
push 0
je 0x49ff95
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 0x49ffff
push 0xff
jmp 0x49ff5b
add esi, 0xa
cmp word [esp + 0x88], 0
je 0x49ffd1
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 0x49fff9
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 0x4a009a
mov cl, byte [edx + 0x28]
add cl, al
movzx eax, cl
cmp eax, 9
ja case.default.0x4a00a7
jmp dword [eax*4 + 0x4a23f0]
push 0x1448
call fcn.0041b230
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 0x4a02ae
push 0x1449
jmp 0x4a002d
push 0x144a
jmp 0x4a002d
push 0x144b
jmp 0x4a002d
push 0x144c
jmp 0x4a002d
push 0x144d
jmp 0x4a002d
push 0x144e
jmp 0x4a002d
push 0x144f
jmp 0x4a002d
push 0x1450
jmp 0x4a002d
push 0x1451
jmp 0x4a002d
movzx eax, byte [edx + 0x28]
cmp eax, 9
ja case.default.0x4a00a7
jmp dword [eax*4 + 0x4a2418]
push 0x1448
jmp 0x4a00f2
push 0x1449
jmp 0x4a00f2
push 0x144a
jmp 0x4a00f2
push 0x144b
jmp 0x4a00f2
push 0x144c
jmp 0x4a00f2
push 0x144d
jmp 0x4a00f2
push 0x144e
jmp 0x4a00f2
push 0x144f
jmp 0x4a00f2
push 0x1450
jmp 0x4a00f2
push 0x1451
call fcn.0041b230
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 0x4a02ae
mov eax, dword [esp + 0x20]
mov ax, word [eax + 0x32]
test ax, ax
je 0x4a01e6
movzx ecx, ax
push ecx
push 0x1452
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0xa8]
push str._s__d
push edx
call fcn.005b8b8d
add esp, 0x10
cmp word [esp + 0x78], 0
je 0x4a01b8
movzx eax, word [esp + 0x78]
push eax
lea ecx, [esp + 0x428]
push str.__3d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0187
lea edi, [esp + 0xa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0198
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.0x4a00a7
movzx ecx, ax
push ecx
push 0x1453
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0xa8]
push str._s__d
push edx
call fcn.005b8b8d
add esp, 0x10
cmp word [esp + 0x38], 0
je 0x4a0281
movzx eax, word [esp + 0x38]
push eax
lea ecx, [esp + 0x428]
push str.__3d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x430]
add esp, 0xc
mov edx, eax
lea ebx, [ebx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0250
lea edi, [esp + 0xa0]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x4a0261
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 0x4a0310
mov al, byte [esp + 0x8c]
test al, al
je 0x4a0310
mov ecx, dword [esp + 0x8c]
push 0x64
lea eax, [esp + 0xa4]
push eax
push ecx
call fcn.0041bf90
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 0x4a0314
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 0x4a0586
mov ecx, dword [esp + 0x24]
push ecx
push 0xc
mov ecx, 0x84f768
call fcn.004c4a30
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x58]
mov dword [esp + 0x18], edi
push eax
jne 0x4a0463
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s_HP__d
push edx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0392
sub eax, edx
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a03fa
movzx eax, word [esp + 0x58]
push eax
push 0x1458
call fcn.0041b230
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 0x4a0585
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.0041b230
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 0x6ad518
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 0x4a0585
push 0x1a0
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x230]
push str._s_s__d
push edx
call fcn.005b8b8d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a04a0
sub eax, edx
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a0513
movzx eax, word [esp + 0x58]
push eax
push 0x1a0
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x4a0585
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.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x6ad518
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 0x4a07e6
mov edx, dword [esp + 0x24]
push edx
push 0x10
mov ecx, 0x84f768
call fcn.004c4a30
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x5c]
mov dword [esp + 0x18], edi
push eax
jne 0x4a06c1
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s_SP__d
push eax
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a05f0
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a0658
movzx eax, word [esp + 0x5c]
push eax
push 0x1458
call fcn.0041b230
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 0x4a07e5
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.0041b230
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 0x6ad518
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 0x4a07e5
push 0x1a1
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea eax, [esp + 0x230]
push str._s_s__d
push eax
call fcn.005b8b8d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0700
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
jne 0x4a0773
movzx eax, word [esp + 0x5c]
push eax
push 0x1a1
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x4a07e5
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.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x6ad518
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 0x4a0a2c
mov eax, dword [esp + 0x24]
push eax
push 0xe
mov ecx, 0x84f768
call fcn.004c4a30
mov edi, eax
mov eax, dword [0x6f3558]
test eax, eax
movzx eax, word [esp + 0x54]
mov dword [esp + 0x18], edi
push eax
jne 0x4a0916
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s_MP__d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0850
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1458
jne 0x4a08b8
call fcn.0041b230
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 0x4a0a2b
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b230
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 0x6ad518
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 0x4a0a2b
push 0x1a2
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
add esp, 4
push eax
lea ecx, [esp + 0x230]
push str._s_s__d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x238]
add esp, 0x14
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0951
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f1c78
call fcn.00532f50
test edi, edi
mov dword [esp + 0x10], eax
movzx eax, word [esp + 0x54]
push eax
push 0x1a2
jne 0x4a09c4
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x4a0a2b
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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 0x6ad518
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 0x4a0b51
movzx eax, word [esp + 0x70]
push eax
push 0x1da
call fcn.0041b230
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s__3d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edx, [eax + 1]
jmp 0x4a0a70
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0a70
sub eax, edx
push 0
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f1c78
call fcn.00532f50
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
push eax
push 0
mov ecx, 0x84f768
call fcn.004c4a30
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a0aec
movzx eax, word [esp + 0x70]
push eax
push 0x1da
call fcn.0041b230
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 0x4a0b50
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.0041b230
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 0x4a0c71
movzx eax, word [esp + 0x68]
push eax
push 0x1db
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s__3d
push edx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0b90
sub eax, edi
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f1c78
call fcn.00532f50
mov ecx, dword [esp + 0x24]
push ecx
push 2
mov ecx, 0x84f768
mov dword [esp + 0x18], eax
call fcn.004c4a30
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a0c0c
movzx eax, word [esp + 0x68]
push eax
push 0x1db
call fcn.0041b230
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 0x4a0c70
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.0041b230
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 0x4a0d86
movzx eax, word [esp + 0x74]
push eax
push 0x1dc
call fcn.0041b230
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s__3d
push eax
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0cb0
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f1c78
call fcn.00532f50
mov edx, dword [esp + 0x24]
push edx
push 4
mov ecx, 0x84f768
mov dword [esp + 0x18], eax
call fcn.004c4a30
mov dword [esp + 0x18], eax
test eax, eax
movzx eax, word [esp + 0x74]
push eax
push 0x1dc
jne 0x4a0d2c
call fcn.0041b230
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 0x4a0d85
mov edx, dword [esp + 0x1c]
mov ecx, ebp
imul ecx, ecx, 0xf
lea edi, [ecx + edx + 0x28]
call fcn.0041b230
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 0x4a0ea6
movzx eax, word [esp + 0x6c]
push eax
push 0x1dd
call fcn.0041b230
add esp, 4
push eax
lea ecx, [esp + 0x22c]
push str._s__3d
push ecx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0dc5
push 0
sub eax, edi
push eax
lea edx, [esp + 0x22c]
push edx
mov ecx, 0x21f1c78
call fcn.00532f50
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
push eax
push 6
mov ecx, 0x84f768
call fcn.004c4a30
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a0e41
movzx eax, word [esp + 0x6c]
push eax
push 0x1dd
call fcn.0041b230
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 0x4a0ea5
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.0041b230
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 0x4a0fd7
movzx eax, word [esp + 0x80]
push eax
push 0x1de
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x22c]
push str._s__3d
push edx
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
jmp 0x4a0ef0
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a0ef0
sub eax, edi
push 0
push eax
lea eax, [esp + 0x22c]
push eax
mov ecx, 0x21f1c78
call fcn.00532f50
mov ecx, dword [esp + 0x24]
push ecx
push 8
mov ecx, 0x84f768
mov dword [esp + 0x18], eax
call fcn.004c4a30
test eax, eax
mov dword [esp + 0x18], eax
jne 0x4a0f6f
movzx eax, word [esp + 0x80]
push eax
push 0x1de
call fcn.0041b230
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 0x4a0fd6
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.0041b230
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 0x4a1116
movzx eax, word [esp + 0x84]
push eax
push 0x1df
call fcn.0041b230
add esp, 4
push eax
lea eax, [esp + 0x22c]
push str._s__3d
push eax
call fcn.005b8b8d
lea eax, [esp + 0x234]
add esp, 0x10
lea edi, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4a1020
push 0
sub eax, edi
push eax
lea ecx, [esp + 0x22c]
push ecx
mov ecx, 0x21f1c78
call fcn.00532f50
mov edx, dword [esp + 0x24]
push edx
push 0xa
mov ecx, 0x84f768
mov dword [esp + 0x18], eax
call fcn.004c4a30
test eax, eax
mov dword [esp + 0x38], eax
jne 0x4a10a0
movzx eax, word [esp + 0x84]
push eax
push 0x1df
call fcn.0041b230
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 0x4a111a
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.0041b230
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 0x4a111a
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
push edx
push 0xc
mov ecx, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x58], 0
jne 0x4a11c5
test eax, eax
je 0x4a11c5
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a1181
push 0x1458
call fcn.0041b230
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 0x4a11c4
push 0x1a0
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x5c], 0
jne 0x4a1270
test eax, eax
je 0x4a1270
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a122c
push 0x1458
call fcn.0041b230
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 0x4a126f
push 0x1a1
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x54], 0
jne 0x4a131b
test eax, eax
je 0x4a131b
mov ecx, dword [0x6f3558]
test ecx, ecx
push eax
jne 0x4a12d7
push 0x1458
call fcn.0041b230
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 0x4a131a
push 0x1a2
call fcn.0041b230
add esp, 4
push eax
push 0x1458
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x70], 0
jne 0x4a136f
test eax, eax
je 0x4a136f
push eax
push 0x1da
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x68], 0
jne 0x4a13c3
test eax, eax
je 0x4a13c3
push eax
push 0x1db
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x74], 0
jne 0x4a1417
test eax, eax
je 0x4a1417
push eax
push 0x1dc
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x6c], 0
jne 0x4a146b
test eax, eax
je 0x4a146b
push eax
push 0x1dd
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x80], 0
jne 0x4a14c2
test eax, eax
je 0x4a14c2
push eax
push 0x1de
call fcn.0041b230
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, 0x84f768
call fcn.004c4a30
cmp word [esp + 0x84], 0
jne 0x4a1519
test eax, eax
je 0x4a1519
push eax
push 0x1df
call fcn.0041b230
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 0x4a154f
push 0x1459
call fcn.0041b230
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 0x4a15e2
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.0041b230
add esp, 4
push eax
push 0x13da
call fcn.0041b230
add esp, 4
push eax
lea edx, [esp + 0x530]
push str._s__s
push edx
call fcn.005b8b8d
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 0x4a1666
cmp al, 0x5f
je 0x4a1666
mov eax, dword [esp + 0x20]
cmp word [eax + 0xc], 0
je 0x4a1666
mov edx, dword [0x84f778]
mov byte [esp + 0x2c], 0xff
mov byte [esp + 0x28], 0xff
mov byte [esp + 0x30], 0xff
movzx ecx, word [eax + 0xc]
cmp edx, ecx
jge 0x4a1628
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.0041b230
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 [0x7034d4]
mov eax, dword [ecx]
push 0x27
call dword [eax + 4]
test al, al
je 0x4a16eb
cmp byte [esp + 0x3e], 0xe
je 0x4a16eb
mov al, byte [esp + 0x94c]
test al, al
je 0x4a16ae
push 0x198d
call fcn.0041b230
push eax
push 0x6a9d2c
push 0
push 0x40
push 0xff
push 0
add edi, 0xfffffff4
push edi
lea ecx, [esi + 9]
push ecx
jmp 0x4a16de
cmp dword [esp + 0x93c], 0x64
je 0x4a16eb
push 0x198e
call fcn.0041b230
push eax
push 0x6a9d2c
push 0
push 0
push 0x80
push 0xff
add edi, 0xfffffff4
push edi
lea edx, [esi + 9]
push edx
push 0x21f1c78
call fcn.005312c0
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 [0x7034d4]
mov edx, dword [ecx]
push 0xb
call dword [edx + 4]
test al, al
je 0x4a19e6
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 0x4a18da
mov ecx, dword [esp + 0x24]
push ecx
push 0x12
mov ecx, 0x84f768
call fcn.004c4a30
test eax, eax
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0xa0]
je 0x4a1890
cmp eax, 0x32
jg 0x4a188b
push eax
mov eax, dword [edx]
push eax
push str._s___d_
push ecx
call fcn.005b8b8d
add esp, 0x10
jmp 0x4a18a1
add eax, 0xffffffce
jmp 0x4a1877
mov eax, dword [edx]
push eax
push 0x6a9d2c
push ecx
call fcn.005b8b8d
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 0x6a9d2c
push 0
push eax
push ecx
push edx
lea eax, [edi + 0xa]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x21f1c78
call fcn.005312c0
add esp, 0x24
jmp 0x4a18de
mov edi, dword [esp + 0x14]
cmp byte [esp + 0x3e], 5
je 0x4a196c
mov edx, dword [esp + 0x24]
push edx
push 0x12
mov ecx, 0x84f768
call fcn.004c4a30
test eax, eax
je 0x4a196c
cmp eax, 0x32
jle 0x4a196c
lea eax, [eax + eax*4 - 0xfa]
push eax
push 0x1e5
call fcn.0041b230
add esp, 4
push eax
push 0x13da
call fcn.0041b230
add esp, 4
push eax
lea ecx, [esp + 0xac]
push 0x6ab708
push ecx
call fcn.005b8b8d
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x74]
lea edx, [esp + 0xb4]
push edx
mov edx, dword [esp + 0x50]
push 0x6a9d2c
push 0
push eax
push ecx
push edx
lea eax, [edi + 0x19]
push eax
lea ecx, [esi + 0xa]
push ecx
push 0x21f1c78
call fcn.005312c0
add esp, 0x38
mov eax, dword [esp + 0x40]
test eax, eax
jne case.default.0x4a198e
mov eax, dword [esp + 0x64]
test eax, eax
je case.default.0x4a198e
dec eax
cmp eax, 0xa
ja case.default.0x4a198e
jmp dword [eax*4 + 0x4a2440]
push 0x1507
jmp 0x4a19bd
push 0x1508
jmp 0x4a19bd
push 0x1509
jmp 0x4a19bd
push 0x150a
jmp 0x4a19bd
push 0x150b
jmp 0x4a19bd
push 0x152e
call fcn.0041b230
add esp, 4
test eax, eax
je case.default.0x4a198e
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 0x4a1a42
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4a19fb
mov eax, dword [esp + 0x64]
test eax, eax
mov byte [esp + 0x60], 0
jne 0x4a1a00
mov byte [esp + 0x60], 0xff
mov eax, dword [esp + 0x90]
test eax, eax
je case.default.0x4a198e
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x14]
push edx
push 0x6a9d2c
push 0
push 0
push eax
push 0xff
add ecx, 0xa
push ecx
lea edx, [esi + 0xa]
push edx
push 0x21f1c78
call fcn.005312c0
add esp, 0x24
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x93c]
cmp eax, 3
jne 0x4a1b77
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x4c]
lea eax, [esp + 0x120]
push eax
push edx
mov ecx, 0x84f768
call fcn.004c1cb0
lea eax, [esp + 0x120]
push eax
push 0x1462
call fcn.0041b230
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 + 0x21e72dc]
add esp, 0x28
lea edx, [esp + 0x120]
push edx
movzx edx, byte [eax + 0x21e72dd]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
imul ecx, ecx, 0x22
movzx edx, byte [ecx + 0x8507fb]
imul edx, dword [eax + 0x21e72e0]
push edx
mov ecx, 0x84f768
inc ebp
call fcn.004c1cb0
mov ecx, dword [0x7034d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a1b65
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, 0x84f768
call fcn.004c1dd0
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b230
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 0x4a21b0
lea ecx, [esp + 0x120]
push ecx
push 0x1463
jmp 0x4a2187
cmp eax, 4
jne 0x4a1cc2
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx + 0x4c]
lea eax, [esp + 0x120]
push eax
push edx
mov ecx, 0x84f768
call fcn.004c1cb0
lea eax, [esp + 0x120]
push eax
push 0x1462
call fcn.0041b230
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 + 0x21e736a]
imul ecx, dword [eax + 0x21e7374]
add esp, 0x28
lea edx, [esp + 0x120]
push edx
push ecx
mov ecx, 0x84f768
inc ebp
mov dword [esp + 0x20], eax
call fcn.004c1cb0
mov eax, dword [esp + 0x18]
mov edx, dword [0x84f770]
cmp edx, dword [eax + 0x21e7374]
jae 0x4a1c4b
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b230
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a21a7
mov ecx, dword [0x7034d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a217a
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, 0x84f768
call fcn.004c1dd0
lea edx, [esp + 0x120]
push edx
push 0x1464
call fcn.0041b230
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 0x4a21b0
mov eax, dword [esp + 0x92c]
test eax, eax
je 0x4a2032
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0x4c]
test ecx, ecx
je 0x4a21ba
mov ecx, 0x84f768
call fcn.004c4870
cmp eax, 1
jne 0x4a1f59
mov ecx, dword [0x856fa8]
push ecx
mov ecx, 0x85701c
call fcn.00477c60
test eax, eax
je 0x4a1f3d
mov al, byte [eax + 4]
fld qword [0x6a75f0]
cmp al, 1
fstp qword [esp + 0x78]
jne 0x4a1d24
push 0x101
jmp 0x4a1d6d
cmp al, 2
jne 0x4a1d44
push 0x201
lea ecx, [esp + 0x1c]
push ecx
mov ecx, 0x84f768
call fcn.004c77b0
mov edx, dword [eax]
mov dword [esp + 0x18], edx
jmp 0x4a1d82
cmp al, 3
jne 0x4a1d64
push 0x301
lea eax, [esp + 0x1c]
push eax
mov ecx, 0x84f768
call fcn.004c77b0
mov ecx, dword [eax]
mov dword [esp + 0x18], ecx
jmp 0x4a1d82
cmp al, 4
jne 0x4a1d82
push 0x401
lea edx, [esp + 0x1c]
mov ecx, 0x84f768
push edx
call fcn.004c77b0
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, 0x84f768
call fcn.004c2de0
test eax, eax
je 0x4a1db0
movzx eax, byte [eax + 4]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
fmul qword [0x6acef8]
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 0x4a1dd5
fadd qword [0x6a75e8]
fmul qword [esp + 0x7c]
call fcn.005b8b18
mov ecx, dword [esp + 0x1c]
sub ecx, eax
push ecx
mov ecx, 0x84f768
call fcn.004c1cb0
mov eax, dword [0x856fa8]
push eax
mov ecx, 0x84f768
call fcn.004c83a0
test eax, eax
jne 0x4a1e32
push 0x1f6e
call fcn.0041b230
push eax
push 0x6a9d2c
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 0x4a1e4f
fadd qword [0x6a75e8]
fmul qword [esp + 0x78]
call fcn.005b8b18
mov ecx, dword [esp + 0x18]
sub ecx, eax
cmp dword [0x84f770], ecx
jae 0x4a1e92
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b230
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a1f1b
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a1eee
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, 0x84f768
call fcn.004c1dd0
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b230
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a1f10
lea ecx, [esp + 0x120]
push ecx
push 0x1f59
call fcn.0041b230
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, 0x84f768
call fcn.004c1cb0
jmp 0x4a1fa5
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
lea ecx, [esp + 0x120]
push ecx
push eax
mov ecx, 0x84f768
call fcn.004c1cb0
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a1fa5
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, 0x84f768
call fcn.004c1dd0
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
mov ecx, dword [0x84f770]
cmp ecx, eax
lea eax, [esp + 0x120]
push eax
push 0x1464
jae 0x4a1fdf
call fcn.0041b230
add esp, 4
push eax
push str._s_:__s
push ebp
push 0
push 0
push 0
push 0xff
jmp 0x4a1fff
call fcn.0041b230
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 [0x7034d4]
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 0x4a21b9
cmp dword [0x852b5c], 0x65
jne 0x4a20fc
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x50]
test eax, eax
je 0x4a21ba
lea edx, [esp + 0x120]
push edx
push eax
mov ecx, 0x84f768
call fcn.004c1cb0
mov ecx, dword [0x7034d4]
mov eax, dword [ecx]
push 0x24
call dword [eax + 4]
test al, al
je 0x4a20bd
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, 0x84f768
call fcn.004c1dd0
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b230
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x20]
jmp 0x4a20df
lea edx, [esp + 0x120]
push edx
push 0x1463
call fcn.0041b230
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 0x4a21b4
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0x4c]
test eax, eax
je 0x4a21ba
lea ecx, [esp + 0x120]
push ecx
push eax
mov ecx, 0x84f768
call fcn.004c1cb0
mov ecx, dword [0x7034d4]
mov edx, dword [ecx]
push 0x24
call dword [edx + 4]
test al, al
je 0x4a217a
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, 0x84f768
call fcn.004c1dd0
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b230
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x80]
add esp, 4
push eax
mov eax, dword [esp + 0x40]
jmp 0x4a219c
lea ecx, [esp + 0x120]
push ecx
push 0x1464
call fcn.0041b230
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 0x4a2224
cmp al, 0x5f
je 0x4a2224
cmp al, 0x1b
je 0x4a2224
cmp al, 0x1c
je 0x4a2224
cmp al, 0x1d
je 0x4a2224
mov ax, word [esp + 0x9c]
test ax, ax
je 0x4a2224
movzx edx, ax
movzx eax, word [esp + 0x4c]
push edx
push eax
push 0x1465
call fcn.0041b230
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 [0x84f76c]
test eax, eax
je 0x4a226e
mov eax, dword [0x21f2088]
test eax, eax
je 0x4a226e
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 0x6ad4b4
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 0x4a22a4
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4a22a4
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.0051c5d0
add ebp, dword [ebx + 0xa4]
cmp dword [esp + 0x93c], 9
je 0x4a2346
mov eax, dword [esp + 0x44]
mov al, byte [eax + 4]
cmp al, 0x1e
je 0x4a2346
cmp al, 0x5f
je 0x4a2346
cmp al, 0x1b
je 0x4a2346
cmp al, 0x1c
je 0x4a2346
cmp al, 0x1d
je 0x4a2346
mov al, byte [esp + 0x53]
test al, al
je 0x4a2346
mov eax, dword [esp + 0x90]
test eax, eax
je 0x4a2346
movzx eax, byte [esp + 0x4b]
xor ebx, ebx
test eax, eax
jle 0x4a2346
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 0x4a2326
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.0049cc00
jmp 0x4a2339
push 0x10
push 0x10
push ebp
push esi
push 0x7f000000
call fcn.0049df50
add esp, 0x14
movzx eax, byte [esp + 0x4b]
inc ebx
add esi, 0x14
cmp ebx, eax
jl 0x4a2300
mov ecx, 0x21f1c78
call fcn.005312b0
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x918
ret 0x24