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

Disassembly:
sub esp, 0xac
push ebx
push ebp
push esi
push edi
mov esi, ecx
mov dl, byte [esi + 0x30]
mov eax, dword [esi + 8]
and dl, 1
je 0x49a4d6
mov ecx, dword [0x68a958]
mov bl, byte [ecx + eax]
mov byte [esp + 0x14], bl
jmp 0x49a4e5
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
mov byte [esp + 0x14], cl
mov bl, cl
mov ecx, dword [esp + 0x14]
inc eax
and ecx, 0xff
mov dword [esi + 8], eax
cmp ecx, 0x70
ja case.default.0x49a4fc
jmp dword [ecx*4 + 0x49c238]
mov ecx, dword [esi + 0x10]
call fcn.00488420
test eax, eax
je 0x49c155
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a525
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x64], cl
mov dword [esi + 8], eax
mov byte [esp + 0x78], cl
je 0x49a544
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49a54e
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
and edi, 0xffff
call fcn.00489840
cmp edi, eax
jne 0x49a58e
mov ecx, dword [esi + 0x2c]
call fcn.0048d620
test eax, eax
je 0x49a58e
mov edx, dword [esi + 0x10]
mov ecx, eax
call fcn.0049dac0
mov edx, dword [esp + 0x64]
and edx, 0xff
cmp edx, eax
jbe 0x49a58e
mov byte [esp + 0x78], al
mov ecx, dword [esi + 0x2c]
xor eax, eax
cmp bl, 9
mov edx, edi
sete al
push eax
call fcn.0048cc50
mov ecx, dword [esp + 0x78]
and ecx, 0xff
cmp eax, ecx
jb 0x49c13a
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a5c8
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
mov byte [esp + 0x6c], cl
lea ecx, [eax + 1]
test dl, dl
mov dword [esi + 8], ecx
je 0x49a5e5
mov edx, dword [0x68a958]
mov ax, word [edx + ecx]
jmp 0x49a5ee
mov eax, dword [0x68a954]
mov ax, word [eax + ecx]
mov ebx, dword [esi + 0x10]
and eax, 0xffff
add ecx, 2
mov edi, eax
mov dword [esi + 8], ecx
mov dl, bl
mov ecx, edi
call fcn.0040f760
cmp edi, 0x1e
mov ebp, eax
jne 0x49a617
mov dl, bl
mov ecx, 5
jmp 0x49a623
cmp edi, 5
jne 0x49a62a
mov dl, bl
mov ecx, 0x1e
call fcn.0040f760
add ebp, eax
mov ecx, dword [esp + 0x6c]
and ecx, 0xff
cmp ebp, ecx
jb 0x49c13a
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a651
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x2c], cl
mov dword [esi + 8], eax
je 0x49a66c
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49a676
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov ebx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
mov al, byte [esp + 0x14]
and edi, 0xffff
cmp al, 0x4c
mov dl, bl
mov ecx, edi
je 0x49a6be
call fcn.0040f760
cmp edi, 0x1e
mov ebp, eax
jne 0x49a6ab
mov dl, bl
mov ecx, 5
call fcn.0040f760
jmp 0x49a6e4
cmp edi, 5
jne 0x49a6e6
mov dl, bl
mov ecx, 0x1e
call fcn.0040f760
jmp 0x49a6e4
call fcn.0040f790
cmp edi, 0x1e
mov ebp, eax
jne 0x49a6d3
mov dl, bl
mov ecx, 5
jmp 0x49a6df
cmp edi, 5
jne 0x49a6e6
mov dl, bl
mov ecx, 0x1e
call fcn.0040f790
add ebp, eax
mov edx, dword [esp + 0x2c]
and edx, 0xff
cmp ebp, edx
jae case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, edi
call fcn.00488b60
cmp byte [esp + 0x14], 0x46
jne 0x49c13a
jmp case.0x49a4fc.90
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
push 0
push 1
push eax
call fcn.004b9cf0
test eax, eax
je 0x49c155
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004b9c80
test eax, eax
jne 0x49c155
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488d70
test eax, eax
je 0x49c155
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004baa10
test eax, eax
je 0x49c155
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004baa50
test eax, eax
je 0x49c155
jmp case.0x49a4fc.90
test dl, dl
je 0x49a796
mov ecx, dword [0x68a958]
mov dx, word [ecx + eax]
jmp 0x49a7a0
mov edx, dword [0x68a954]
mov dx, word [edx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
and edx, 0xffff
mov dword [esi + 8], eax
call fcn.00488510
jmp case.0x49a4fc.90
test dl, dl
je 0x49a7d4
mov ecx, dword [0x68a958]
mov ax, word [ecx + eax]
and eax, 0xffff
mov dword [esi + 8], eax
jmp case.0x49a4fc.90
mov edx, dword [0x68a954]
mov ax, word [edx + eax]
and eax, 0xffff
mov dword [esi + 8], eax
jmp case.0x49a4fc.90
test dl, dl
je 0x49a7fb
mov ecx, dword [0x68a958]
mov di, word [ecx + eax]
jmp 0x49a805
mov edx, dword [0x68a954]
mov di, word [edx + eax]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [esi + 0x28]
push eax
call fcn.004bb750
jmp 0x49b5ec
test dl, dl
je 0x49a82f
mov ecx, dword [0x68a958]
mov di, word [ecx + eax]
jmp 0x49a839
mov edx, dword [0x68a954]
mov di, word [edx + eax]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [esi + 0x28]
push eax
call fcn.0048d630
jmp 0x49a9a5
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a863
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0xb0], cl
mov dword [esi + 8], eax
je 0x49a881
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49a88b
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
add eax, 2
mov ecx, 0x34
mov dword [esi + 8], eax
call fcn.0047bce0
mov edx, dword [esp + 0xb0]
and eax, 0xff
and edx, 0xff
cmp eax, edx
ja case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a8d3
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
mov byte [esp + 0x34], cl
lea ecx, [eax + 1]
mov eax, dword [esp + 0x34]
mov dword [esi + 8], ecx
and eax, 0xff
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
shl eax, 2
test dl, dl
mov edx, dword [0x68a958]
jne 0x49a902
mov edx, dword [0x68a954]
mov dx, word [edx + ecx]
add ecx, 2
mov dword [esi + 8], ecx
mov ecx, dword [0x516d20]
cmp ecx, eax
jb case.0x49a4fc.90
and edx, 0xffff
mov dword [esi + 8], edx
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a938
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49a952
mov edx, dword [0x68a954]
mov di, word [edx + eax]
mov dl, byte [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
call fcn.0040f790
jmp 0x49b5ec
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a979
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49a993
mov edx, dword [0x68a954]
mov di, word [edx + eax]
mov dl, byte [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
call fcn.0040f790
test eax, eax
je case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49a9cb
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
lea ecx, [eax + 2]
and edi, 0xffff
mov dword [esi + 8], ecx
mov eax, dword [0x68a958]
test dl, dl
jne 0x49a9e9
mov eax, dword [0x68a954]
mov ax, word [eax + ecx]
add ecx, 2
and eax, 0xffff
mov dword [esi + 8], ecx
test dl, dl
mov ebp, eax
je 0x49aa0a
mov edx, dword [0x68a958]
mov ax, word [edx + ecx]
jmp 0x49aa13
mov eax, dword [0x68a954]
mov ax, word [eax + ecx]
add ecx, 2
and eax, 0xffff
mov dword [esi + 8], ecx
mov ecx, dword [esi + 0x2c]
mov ebx, eax
call fcn.0048d1b0
sub eax, 0
je 0x49aa43
dec eax
je 0x49c0d0
dec eax
jne case.0x49a4fc.90
mov dword [esi + 8], ebx
jmp case.0x49a4fc.90
mov dword [esi + 8], ebp
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49aa5b
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov byte [esp + 0x74], cl
mov dword [esi + 8], eax
mov edi, dword [esp + 0x74]
and edi, 0xff
shl edi, 5
test dl, dl
je 0x49aa83
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49aa8d
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
and ecx, 0xffff
add eax, 2
mov ebx, ecx
mov ecx, dword [esi + 0x2c]
mov edx, edi
mov dword [esi + 8], eax
call fcn.0048d1f0
cmp eax, edi
jae case.0x49a4fc.90
mov dword [esi + 8], ebx
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49aac5
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov byte [esp + 0x3c], cl
mov dword [esi + 8], eax
mov edi, dword [esp + 0x3c]
and edi, 0xff
test dl, dl
je 0x49aaea
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49aaf4
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
and ecx, 0xffff
add eax, 2
mov ebx, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
call fcn.0048d2b0
cmp eax, edi
ja case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
cmp dword [ecx*4 + 0x508718], 0x1388
jl 0x49ab3c
cmp dword [ecx*4 + 0x508748], 0xbb8
jl 0x49ab3c
call fcn.00488b40
test eax, eax
je case.0x49a4fc.90
mov ecx, dword [esi + 0x2c]
call fcn.0048d620
test eax, eax
je case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
push edi
mov edx, eax
call fcn.0049d730
test eax, eax
je case.0x49a4fc.90
push ebx
mov edx, eax
mov ecx, esi
call fcn.0049c400
jmp case.0x49a4fc.90
test dl, dl
mov edx, dword [0x68a958]
jne 0x49ab7e
mov edx, dword [0x68a954]
mov cl, byte [edx + eax]
inc eax
mov byte [esp + 0x94], cl
mov ecx, dword [esi + 0x2c]
mov edx, dword [esp + 0x94]
mov dword [esi + 8], eax
and edx, 0xff
call fcn.0048d2d0
jmp case.0x49a4fc.90
cmp bl, 3
jne 0x49abc3
mov edx, dword [esi + 0x30]
mov eax, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
shr edx, 3
push edx
mov edx, dword [esi + 0x24]
push eax
call fcn.00489ee0
jmp 0x49abd5
mov ecx, dword [esi + 0x30]
lea edx, [esi + 0x14]
shr ecx, 3
push ecx
mov ecx, dword [esi + 0x10]
call fcn.0048a080
test eax, eax
mov dword [esi + 0x2c], eax
je 0x49c17f
mov ecx, dword [esi + 0x10]
call fcn.00486f60
mov ebx, dword [esi + 0x10]
lea edx, [ebx + ebx*8]
cmp byte [edx*4 + 0x65a850], 1
jne case.0x49a4fc.90
call fcn.00486c50
mov ebp, eax
xor edi, edi
test ebp, ebp
jbe case.0x49a4fc.90
mov edx, edi
mov ecx, ebx
call fcn.004b5120
inc edi
cmp edi, ebp
jb 0x49ac0d
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, 1
call fcn.00488440
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
xor edx, edx
call fcn.004889a0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, 1
call fcn.004889a0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
xor edx, edx
call fcn.004889f0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, 1
call fcn.004889f0
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ac84
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x44], cl
mov dword [esi + 8], eax
je 0x49ac9f
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49aca9
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x44]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488480
jmp case.0x49a4fc.90
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
push 0
push 1
push edx
mov edx, dword [esi + 0x24]
call fcn.004b9cf0
mov ecx, dword [esi + 0x10]
mov edx, 5
call fcn.00488690
jmp case.0x49a4fc.90
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
push 0
push 1
push eax
call fcn.004b9cf0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
xor edx, edx
call fcn.004b8c20
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ad29
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov byte [esp + 0x4c], cl
mov dword [esi + 8], eax
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ad44
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49ad5e
mov edx, dword [0x68a954]
mov dl, byte [edx + eax]
inc eax
mov byte [esp + 0x7c], dl
mov edx, dword [esp + 0x4c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x7c]
and eax, 0xff
push 0
and ecx, 0xffff
push eax
push ecx
mov ecx, dword [esi + 0x2c]
and edx, 0xff
call fcn.0048bd40
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ada3
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0xa4], cl
mov dword [esi + 8], eax
je 0x49adc1
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49adcb
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0xa4]
push 1
and ecx, 0xffff
push 0x50
add eax, 2
push ecx
mov ecx, dword [esi + 0x2c]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.0048bd40
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ae06
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov byte [esp + 0x84], cl
mov dword [esi + 8], eax
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49ae24
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49ae3e
mov edx, dword [0x68a954]
mov dl, byte [edx + eax]
inc eax
mov byte [esp + 0x54], dl
mov edx, dword [esp + 0x84]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x54]
and eax, 0xff
and ecx, 0xffff
push eax
push ecx
mov ecx, dword [esi + 0x2c]
and edx, 0xff
call fcn.0048bdc0
jmp case.0x49a4fc.90
test dl, dl
je 0x49ae93
mov ecx, dword [0x68a958]
inc eax
mov dl, byte [ecx + eax - 1]
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
call fcn.00488c20
jmp case.0x49a4fc.90
mov edx, dword [0x68a954]
mov ecx, dword [esi + 0x10]
mov dl, byte [edx + eax]
inc eax
mov dword [esi + 8], eax
call fcn.00488c20
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49aebd
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49aed7
mov edx, dword [0x68a954]
mov dl, byte [edx + eax]
inc eax
mov byte [esp + 0x5c], dl
mov dword [esi + 8], eax
mov eax, dword [esp + 0x5c]
mov edx, ecx
mov ecx, dword [esi + 0x2c]
and eax, 0xff
push eax
and edx, 0xffff
call fcn.0048be20
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00487e60
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00487e90
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00487ec0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00487ef0
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49af45
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x9c], cl
mov dword [esi + 8], eax
je 0x49af63
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49af6d
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x9c]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00487f20
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49afa4
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x20], cl
mov dword [esi + 8], eax
je 0x49afbf
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49afc9
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x20]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00487f90
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49affd
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x8c], cl
mov dword [esi + 8], eax
je 0x49b01b
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b025
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x8c]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488000
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b05c
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x24], cl
mov dword [esi + 8], eax
je 0x49b077
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b081
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x24]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488070
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b0b5
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x28], cl
mov dword [esi + 8], eax
je 0x49b0d0
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b0da
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x28]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.004880e0
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b10e
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x30], cl
mov dword [esi + 8], eax
je 0x49b129
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b133
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x30]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488150
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b167
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x38], cl
mov dword [esi + 8], eax
je 0x49b182
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b18c
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x38]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.004881c0
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b1c0
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x40], cl
mov dword [esi + 8], eax
je 0x49b1db
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b1e5
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x40]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488230
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004ba610
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004ba6e0
jmp case.0x49a4fc.90
test dl, dl
je 0x49b232
mov edx, dword [0x68a958]
mov bl, byte [edx + eax]
jmp 0x49b23b
mov ecx, dword [0x68a954]
mov bl, byte [ecx + eax]
mov ecx, dword [esi + 0x10]
inc eax
mov edx, 1
mov dword [esi + 8], eax
call fcn.00488440
mov ecx, dword [esi + 0x10]
mov dl, bl
call fcn.004bad80
mov ecx, dword [esi + 0x10]
mov edx, 5
call fcn.00488690
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.00492cc0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.00492d30
jmp case.0x49a4fc.90
test dl, dl
mov edx, dword [0x68a958]
jne 0x49b298
mov edx, dword [0x68a954]
mov cl, byte [edx + eax]
inc eax
mov byte [esp + 0x48], cl
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x48]
mov dword [esi + 8], eax
and edx, 0xff
call fcn.004888c0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488900
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488920
jmp case.0x49a4fc.90
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
push edx
mov edx, dword [esi + 0x24]
call fcn.00493cb0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00493d00
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.004b7df0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.00488fd0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.004b7d40
jmp case.0x49a4fc.90
mov eax, dword [esi + 0x28]
mov edx, dword [esi + 0x24]
mov ecx, dword [esi + 0x10]
push eax
call fcn.004bb670
jmp case.0x49a4fc.90
test dl, dl
je 0x49b349
mov ecx, dword [0x68a958]
mov dx, word [ecx + eax]
jmp 0x49b353
mov edx, dword [0x68a954]
mov dx, word [edx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
and edx, 0xffff
mov dword [esi + 8], eax
call fcn.00488a40
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b37c
mov ecx, dword [0x68a954]
mov dl, byte [ecx + eax]
mov ecx, dword [esi + 0x10]
mov byte [esp + 0x50], dl
inc eax
mov edx, dword [esp + 0x50]
mov dword [esi + 8], eax
and edx, 0xff
call fcn.00488a80
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488aa0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.004bb6d0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488b20
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b3d8
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49b3f2
mov edx, dword [0x68a954]
mov dl, byte [edx + eax]
inc eax
mov byte [esp + 0x58], dl
mov edx, dword [esi + 0x2c]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x58]
and eax, 0xff
and ecx, 0xffff
push eax
push ecx
mov ecx, dword [esi + 0x10]
call fcn.004bd890
jmp case.0x49a4fc.90
test dl, dl
je 0x49b42e
mov ecx, dword [0x68a958]
mov cx, word [ecx + eax]
jmp 0x49b438
mov edx, dword [0x68a954]
mov cx, word [edx + eax]
mov ebp, dword [esi + 0x10]
and ecx, 0xffff
add eax, 2
mov dword [esp + 0x10], ecx
lea ecx, [esp + 0x18]
mov dword [esi + 8], eax
call fcn.0049cb30
test eax, eax
je case.0x49a4fc.90
mov ecx, dword [esp + 0x18]
call fcn.0049cbb0
mov ecx, dword [esp + 0x18]
mov edi, eax
call fcn.0049cbc0
mov ebx, eax
mov edx, edi
push ebx
mov ecx, ebp
call fcn.004bd940
test eax, eax
jne 0x49b48d
mov edx, dword [esp + 0x10]
push ebx
push edi
mov ecx, ebp
call fcn.004bd800
lea ecx, [esp + 0x18]
call fcn.0049cb70
test eax, eax
jne 0x49b45c
jmp case.0x49a4fc.90
test dl, dl
je 0x49b4af
mov ecx, dword [0x68a958]
mov cx, word [ecx + eax]
jmp 0x49b4b9
mov edx, dword [0x68a954]
mov cx, word [edx + eax]
add eax, 2
and ecx, 0xffff
mov dword [0x68bdbc], eax
mov dword [esi + 8], ecx
jmp case.0x49a4fc.90
mov eax, dword [0x68bdbc]
mov dword [esi + 8], eax
mov dword [0x68bdbc], 0
jmp case.0x49a4fc.90
test dl, dl
je 0x49b4f6
mov ecx, dword [0x68a958]
mov dx, word [ecx + eax]
jmp 0x49b500
mov edx, dword [0x68a954]
mov dx, word [edx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
and edx, 0xffff
mov dword [esi + 8], eax
call fcn.00488c70
jmp case.0x49a4fc.90
test dl, dl
je 0x49b529
mov ecx, dword [0x68a958]
mov dx, word [ecx + eax]
jmp 0x49b533
mov edx, dword [0x68a954]
mov dx, word [edx + eax]
add eax, 2
lea ecx, [esi + 0x14]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x30]
and eax, 1
and edx, 0xffff
push eax
push ecx
mov ecx, dword [esi + 0x10]
call fcn.0049a2a0
test eax, eax
je case.0x49a4fc.90
mov edx, dword [esi + 0x2c]
mov dword [eax + 0x2c], edx
jmp case.0x49a4fc.90
mov eax, dword [esi + 0x30]
or al, 2
mov dword [esi + 0x30], eax
jmp case.0x49a4fc.90
mov ecx, dword [0x68a964]
test ecx, ecx
je case.0x49a4fc.90
mov eax, dword [ecx + 0x30]
test al, 2
je 0x49b58c
or al, 4
mov dword [ecx + 0x30], eax
mov ecx, dword [ecx]
test ecx, ecx
jne 0x49b580
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b5a7
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x60], cl
mov dword [esi + 8], eax
je 0x49b5c2
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49b5cc
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov edx, dword [esi + 0x28]
mov ecx, dword [esi + 0x10]
add eax, 2
push edx
mov edx, dword [esp + 0x64]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x24]
and edx, 0xff
push eax
call fcn.004bb880
test eax, eax
jne case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
add eax, 2
mov dword [esi + 8], eax
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b61d
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x68], cl
mov dword [esi + 8], eax
je 0x49b638
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49b642
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
mov edx, dword [esp + 0x68]
and ecx, 0xffff
add eax, 2
push ecx
mov ecx, dword [esi + 0x10]
and edx, 0xff
mov dword [esi + 8], eax
call fcn.00488d90
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488e50
jmp case.0x49a4fc.90
test dl, dl
mov edx, dword [0x68a958]
jne 0x49b683
mov edx, dword [0x68a954]
mov cl, byte [edx + eax]
inc eax
mov byte [esp + 0x70], cl
mov ecx, dword [esi + 0x10]
mov edx, dword [esp + 0x70]
mov dword [esi + 8], eax
and edx, 0xff
call fcn.00488ea0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00488ec0
jmp case.0x49a4fc.90
test dl, dl
je 0x49b6c2
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49b6cc
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov edx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
mov ecx, dword [0x68a954]
add ecx, eax
call fcn.0046dc60
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b700
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
mov edi, dword [0x68a958]
test dl, dl
jne 0x49b71a
mov edi, dword [0x68a954]
mov di, word [edi + eax]
add eax, 2
mov dword [esi + 8], eax
test dl, dl
mov edx, dword [0x68a958]
jne 0x49b734
mov edx, dword [0x68a954]
mov dx, word [edx + eax]
add eax, 2
mov dword [esi + 8], eax
mov eax, dword [esi + 0x10]
shl eax, 2
and ecx, 0xffff
cmp dword [eax + 0x508718], ecx
jl case.0x49a4fc.90
mov ecx, dword [eax + 0x508748]
and edi, 0xffff
cmp ecx, edi
jl case.0x49a4fc.90
and edx, 0xffff
mov dword [esi + 8], edx
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b788
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov byte [esp + 0x80], cl
mov dword [esi + 8], eax
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49b7a6
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x88], cl
mov dword [esi + 8], eax
je 0x49b7c4
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49b7ce
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov edx, dword [esi + 0x10]
and edi, 0xffff
add eax, 2
mov ecx, edi
mov dword [esi + 8], eax
mov dword [esp + 0x10], edx
call fcn.0040f790
cmp edi, 0x1e
mov ebx, eax
jne 0x49b7fa
mov dl, byte [esp + 0x10]
mov ecx, 5
jmp 0x49b808
cmp edi, 5
jne 0x49b80f
mov dl, byte [esp + 0x10]
mov ecx, 0x1e
call fcn.0040f790
add ebx, eax
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x88]
and edx, 0xff
and eax, 0xff
sub ebx, edx
cmp ebx, eax
jle 0x49b830
mov eax, ebx
mov ecx, dword [esi + 0x10]
push edi
mov edx, eax
call fcn.00488480
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.004bca70
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
lea edx, [esi + 0x14]
call fcn.004bcb40
jmp case.0x49a4fc.90
test dl, dl
je 0x49b881
mov ecx, dword [0x68a958]
inc eax
push 1
mov dl, byte [ecx + eax - 1]
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
call fcn.004bcbc0
jmp case.0x49a4fc.90
mov edx, dword [0x68a954]
mov ecx, dword [esi + 0x10]
push 1
mov dl, byte [edx + eax]
inc eax
mov dword [esi + 8], eax
call fcn.004bcbc0
jmp case.0x49a4fc.90
test dl, dl
je 0x49b8be
mov ecx, dword [0x68a958]
inc eax
push 0
mov dl, byte [ecx + eax - 1]
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
call fcn.004bcbc0
jmp case.0x49a4fc.90
mov edx, dword [0x68a954]
mov ecx, dword [esi + 0x10]
push 0
mov dl, byte [edx + eax]
inc eax
mov dword [esi + 8], eax
call fcn.004bcbc0
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00423360
test eax, eax
je 0x49b91a
cmp word [eax + 0x64], 1
jne 0x49b913
xor ecx, ecx
mov cl, byte [eax + 0x4d]
cmp ecx, 0x9c
je 0x49c231
cmp ecx, 0xa0
je 0x49c231
cmp ecx, 2
je 0x49c231
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x49b8e6
xor edi, edi
test edi, edi
je case.0x49a4fc.90
push edi
push 1
mov ecx, edi
call fcn.004365e0
mov ebx, eax
test ebx, ebx
je case.0x49a4fc.90
mov ax, word [esi + 0x18]
mov cx, word [esi + 0x20]
mov dx, word [esi + 0x14]
mov word [esp + 0xaa], ax
mov ax, word [esi + 0x1c]
mov word [esp + 0xae], cx
mov word [esp + 0xac], ax
mov ecx, dword [esp + 0xac]
mov word [esp + 0xa8], dx
mov edx, dword [esp + 0xa8]
push ecx
push edx
mov ecx, edi
call fcn.004337c0
test eax, eax
je 0x49b99e
push eax
push 0x7e
mov ecx, edi
call fcn.00427a60
mov eax, dword [ebx + 0xd0]
mov dword [eax + 0x80], edi
jmp case.0x49a4fc.90
mov eax, dword [esi + 0x20]
mov edx, dword [esi + 0x18]
add eax, edx
mov ecx, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
push eax
mov eax, dword [esi + 0x1c]
add eax, ecx
cdq
sub eax, edx
sar eax, 1
push eax
jmp 0x49bfd9
mov ecx, dword [esi + 0x10]
xor edi, edi
mov di, word [0x6a9c7a]
call fcn.00423360
test eax, eax
je 0x49ba18
mov edx, 0x3c
cmp word [eax + 0x64], dx
jne 0x49ba0b
xor ecx, ecx
mov cl, byte [eax + 0xa3]
and ecx, 0xff
cmp ecx, edi
jb 0x49ba0b
xor ecx, ecx
mov cl, byte [eax + 0x4d]
cmp ecx, 0x9c
je 0x49ba14
cmp ecx, 0xa0
je 0x49ba14
cmp ecx, 2
je 0x49ba14
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x49b9d9
jmp 0x49ba18
mov ecx, eax
jmp 0x49ba1a
xor ecx, ecx
test ecx, ecx
je case.0x49a4fc.90
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
sub eax, edi
mov ebx, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
add eax, edi
push eax
mov eax, dword [esi + 0x1c]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
push eax
push 0xb5
call fcn.00427b30
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
xor edi, edi
mov di, word [0x6a9c72]
call fcn.00423360
test eax, eax
je 0x49baaa
mov edx, 0x47
cmp word [eax + 0x64], dx
jne 0x49ba9d
xor ecx, ecx
mov cl, byte [eax + 0xa3]
and ecx, 0xff
cmp ecx, edi
jb 0x49ba9d
xor ecx, ecx
mov cl, byte [eax + 0x4d]
cmp ecx, 0x9c
je 0x49baa6
cmp ecx, 0xa0
je 0x49baa6
cmp ecx, 2
je 0x49baa6
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x49ba6b
jmp 0x49baaa
mov ecx, eax
jmp 0x49baac
xor ecx, ecx
test ecx, ecx
je case.0x49a4fc.90
mov edi, dword [esi + 0x18]
mov eax, dword [esi + 0x20]
sub eax, edi
mov ebx, dword [esi + 0x14]
cdq
sub eax, edx
sar eax, 1
add eax, edi
push eax
mov eax, dword [esi + 0x1c]
sub eax, ebx
cdq
sub eax, edx
sar eax, 1
add eax, ebx
push eax
push 0x89
call fcn.00427b30
jmp case.0x49a4fc.90
mov dx, word [esi + 0x18]
mov ax, word [esi + 0x20]
mov cx, word [esi + 0x14]
mov word [esp + 0xb6], dx
mov dx, word [esi + 0x1c]
mov word [esp + 0xba], ax
mov word [esp + 0xb8], dx
mov eax, dword [esp + 0xb8]
mov word [esp + 0xb4], cx
mov ecx, dword [esp + 0xb4]
push eax
push ecx
mov ecx, dword [esi + 0x10]
mov edx, 0xbb
call fcn.004bcd00
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004bcc20
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00423360
mov edi, eax
test edi, edi
je case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, edi
call fcn.004b4ee0
mov edi, dword [edi + 0x6c]
test edi, edi
jne 0x49bb54
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bb7a
mov ecx, dword [0x68a954]
mov bp, word [ecx + eax]
add eax, 2
test dl, dl
mov dword [esi + 8], eax
je 0x49bb94
mov edx, dword [0x68a958]
mov bx, word [edx + eax]
jmp 0x49bb9e
mov ecx, dword [0x68a954]
mov bx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
call fcn.00421cb0
mov edi, eax
test edi, edi
je case.0x49a4fc.90
cmp word [edi + 0x64], bp
jne 0x49bbcb
mov ecx, dword [esi + 0x10]
mov edx, edi
call fcn.00425880
test eax, eax
jne 0x49bc8e
mov edi, dword [edi + 4]
test edi, edi
jne 0x49bbb3
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bbe7
mov ecx, dword [0x68a954]
mov bp, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bc01
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
test dl, dl
mov word [esp + 0x10], cx
mov dword [esi + 8], eax
je 0x49bc20
mov edx, dword [0x68a958]
mov bx, word [edx + eax]
jmp 0x49bc2a
mov ecx, dword [0x68a954]
mov bx, word [ecx + eax]
add eax, 2
mov dword [esi + 8], eax
call fcn.00421cb0
mov edi, eax
test edi, edi
je case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
mov edx, edi
call fcn.00425880
test eax, eax
jne 0x49bc54
mov edi, dword [edi + 4]
test edi, edi
jne 0x49bc3f
test edi, edi
je case.0x49a4fc.90
xor eax, eax
and ebp, 0xffff
mov al, byte [edi + 0x4c]
shl eax, 2
cmp dword [eax + 0x508718], ebp
jl case.0x49a4fc.90
mov ecx, dword [esp + 0x10]
mov edx, dword [eax + 0x508748]
and ecx, 0xffff
cmp edx, ecx
jl case.0x49a4fc.90
and ebx, 0xffff
mov dword [esi + 8], ebx
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bcac
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
mov dword [esi + 8], eax
mov edi, dword [0x68a958]
test dl, dl
jne 0x49bcc3
mov edi, dword [0x68a954]
mov bl, byte [edi + eax]
inc eax
mov dword [esi + 8], eax
mov byte [esp + 0x1c], bl
test dl, dl
mov edx, dword [0x68a958]
jne 0x49bcde
mov edx, dword [0x68a954]
mov di, word [edx + eax]
add eax, 2
test cl, cl
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
jne 0x49bd14
call fcn.00486f40
mov ecx, dword [esp + 0x1c]
and ecx, 0xff
cmp eax, ecx
jae case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
call fcn.00486f40
mov edx, dword [esp + 0x1c]
and edx, 0xff
cmp eax, edx
jbe case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bd49
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x90], cl
mov dword [esi + 8], eax
je 0x49bd67
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49bd71
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
call fcn.00486f40
test eax, eax
jne case.0x49a4fc.90
mov edx, dword [esp + 0x90]
mov ecx, dword [esi + 0x10]
and edi, 0xffff
and edx, 0xff
push edi
call fcn.00488480
jmp case.0x49a4fc.90
test dl, dl
je 0x49bdc6
mov edx, dword [0x68a958]
add eax, 4
mov ecx, dword [edx + eax - 4]
mov dword [esi + 8], eax
call fcn.0047bc80
jmp case.0x49a4fc.90
mov ecx, dword [0x68a954]
add eax, 4
mov ecx, dword [ecx + eax - 4]
mov dword [esi + 8], eax
call fcn.0047bc80
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.00423360
test eax, eax
mov ecx, 0x6c
je 0x49be0e
cmp word [eax + 0x64], cx
jne 0x49be01
mov edx, dword [eax + 0xd4]
test edx, edx
je 0x49be0a
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x49bdf1
jmp 0x49be0e
mov edi, eax
jmp 0x49be10
xor edi, edi
test edi, edi
je case.0x49a4fc.90
cmp word [edi + 0x64], cx
jne case.0x49a4fc.90
mov eax, dword [edi + 0xd4]
test eax, eax
jne case.0x49a4fc.90
mov eax, dword [edi + 0xc]
xor edx, edx
mov dl, byte [edi + 0x4c]
movsx ecx, word [eax + 0x16]
push edx
push ecx
movsx edx, word [eax + 0x14]
mov ecx, 0xe
call fcn.00421f30
mov ebx, eax
test ebx, ebx
je case.0x49a4fc.90
mov ecx, ebx
call fcn.00422f00
mov ecx, ebx
call fcn.004202a0
mov dword [edi + 0xd0], ebx
mov dword [edi + 0xd4], 1
mov edx, ebx
mov ecx, edi
mov dword [ebx + 0x80], edi
call fcn.00492c50
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49be98
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
lea edi, [eax + 2]
mov dword [esi + 8], edi
mov eax, dword [0x68a958]
test dl, dl
jne 0x49beb0
mov eax, dword [0x68a954]
mov ax, word [eax + edi]
add edi, 2
and eax, 0xffff
mov dword [esi + 8], edi
test dl, dl
mov ebx, eax
je 0x49bed1
mov edx, dword [0x68a958]
mov ax, word [edx + edi]
jmp 0x49beda
mov eax, dword [0x68a954]
mov ax, word [eax + edi]
mov edx, dword [esi + 0x10]
and eax, 0xffff
add edi, 2
push edx
push eax
mov edx, ebx
mov dword [esi + 8], edi
call fcn.00422180
mov edi, eax
test edi, edi
je case.0x49a4fc.90
mov ecx, edi
call fcn.00434e70
cmp al, 0x2c
je case.0x49a4fc.90
xor edx, edx
xor cx, cx
mov dl, byte [edi + 0x4c]
push edi
mov cl, al
call fcn.00401a90
cmp eax, 1
jne case.0x49a4fc.90
mov ecx, edi
call fcn.004195d0
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49bf3f
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
add eax, 2
and ecx, 0xffff
mov dword [esi + 8], eax
test dl, dl
mov dword [esp + 0x10], ecx
je 0x49bf63
mov edx, dword [0x68a958]
mov cx, word [edx + eax]
jmp 0x49bf6d
mov ecx, dword [0x68a954]
mov cx, word [ecx + eax]
and ecx, 0xffff
add eax, 2
mov ebp, ecx
mov ecx, dword [esi + 0x10]
mov dword [esi + 8], eax
call fcn.00423360
test eax, eax
je 0x49bfb5
cmp word [eax + 0x64], 1
jne 0x49bfa8
xor ecx, ecx
mov cl, byte [eax + 0x4d]
cmp ecx, 0x9c
je 0x49bfb1
cmp ecx, 0xa0
je 0x49bfb1
cmp ecx, 2
je 0x49bfb1
mov eax, dword [eax + 0x6c]
test eax, eax
jne 0x49bf87
jmp 0x49bfb5
mov edi, eax
jmp 0x49bfb7
xor edi, edi
test edi, edi
je case.0x49a4fc.90
push edi
push 1
mov ecx, edi
call fcn.004365e0
mov ebx, eax
test ebx, ebx
je case.0x49a4fc.90
mov edx, dword [esp + 0x10]
push ebp
push edx
push 0x7e
mov ecx, edi
call fcn.00427b30
mov eax, dword [ebx + 0xd0]
mov dword [eax + 0x80], edi
jmp case.0x49a4fc.90
mov ecx, dword [esi + 0x10]
call fcn.004b5070
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49c010
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0x98], cl
mov dword [esi + 8], eax
je 0x49c02e
mov edx, dword [0x68a958]
mov bx, word [edx + eax]
jmp 0x49c038
mov ecx, dword [0x68a954]
mov bx, word [ecx + eax]
mov edi, dword [esp + 0x98]
add eax, 2
and edi, 0xff
mov dword [esi + 8], eax
mov ecx, edi
call fcn.0049da10
test eax, eax
je case.0x49a4fc.90
and ebx, 0xffff
mov edx, edi
push ebx
mov ecx, esi
call fcn.0049c400
jmp case.0x49a4fc.90
mov ecx, dword [0x68a958]
test dl, dl
jne 0x49c07f
mov ecx, dword [0x68a954]
mov cl, byte [ecx + eax]
inc eax
test dl, dl
mov byte [esp + 0xa0], cl
mov dword [esi + 8], eax
je 0x49c09d
mov edx, dword [0x68a958]
mov di, word [edx + eax]
jmp 0x49c0a7
mov ecx, dword [0x68a954]
mov di, word [ecx + eax]
mov ecx, dword [esi + 0x10]
add eax, 2
mov dword [esi + 8], eax
call fcn.0048d2b0
mov edx, dword [esp + 0xa0]
and edx, 0xff
cmp eax, edx
jne case.0x49a4fc.90
and edi, 0xffff
mov dword [esi + 8], edi
jmp case.0x49a4fc.90
push str.Illegal_AI_script_executed.
call fcn.004dbb00
add esp, 4
jmp case.0x49a4fc.90
test byte [esi + 0x30], 1
je 0x49c115
mov ecx, dword [0x68a958]
add eax, 2
mov cx, word [ecx + eax - 2]
mov dword [esi + 8], eax
and ecx, 0xffff
mov dword [esi + 0xc], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
mov edx, dword [0x68a954]
add eax, 2
mov cx, word [edx + eax - 2]
mov dword [esi + 8], eax
and ecx, 0xffff
mov dword [esi + 0xc], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
mov eax, dword [esi + 8]
mov dword [esi + 0xc], 0x1e
add eax, 0xfffffffc
mov dword [esi + 8], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
mov eax, dword [esi + 8]
mov dword [esi + 0xc], 0x1e
dec eax
mov dword [esi + 8], eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
cmp dword [0x68a964], esi
jne 0x49c18f
mov eax, dword [esi]
mov dword [0x68a964], eax
jmp 0x49c18f
cmp dword [0x68a964], esi
jne 0x49c18f
mov edx, dword [esi]
mov dword [0x68a964], edx
mov eax, dword [esi + 4]
test eax, eax
je 0x49c19a
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi]
test eax, eax
je 0x49c1a6
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov eax, dword [0x68a960]
mov dword [esi + 4], 0
mov ecx, dword [eax + 0x1450]
mov dword [esi], ecx
mov ecx, dword [eax + 0x1450]
test ecx, ecx
je 0x49c220
mov dword [ecx + 4], esi
mov dword [eax + 0x1450], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
cmp dword [0x68a964], esi
jne 0x49c1e8
mov edx, dword [esi]
mov dword [0x68a964], edx
mov eax, dword [esi + 4]
test eax, eax
je 0x49c1f3
mov ecx, dword [esi]
mov dword [eax], ecx
mov eax, dword [esi]
test eax, eax
je 0x49c1ff
mov edx, dword [esi + 4]
mov dword [eax + 4], edx
mov eax, dword [0x68a960]
mov dword [esi + 4], 0
mov ecx, dword [eax + 0x1450]
mov dword [esi], ecx
mov ecx, dword [eax + 0x1450]
test ecx, ecx
je 0x49c220
mov dword [ecx + 4], esi
mov dword [eax + 0x1450], esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xac
ret
mov edi, eax
jmp 0x49b91c