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

Disassembly:
push ebx
push esi
push edi
push ebp
add esp, 0xffffff4c
mov ebx, edx
mov esi, eax
cmp dword [ebx], 0xa100
jne 0x538bc6
movzx eax, word [ebx + 6]
cmp eax, 0x22
jg 0x538736
je 0x5389db
dec eax
je 0x538923
dec eax
je 0x538754
sub eax, 5
je 0x538993
sub eax, 0x19
je 0x53899f
jmp 0x538bc6
sub eax, 0x24
je 0x538b9f
sub eax, 0x18
je 0x538967
dec eax
je 0x538976
jmp 0x538bc6
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp eax, dword [ebx + 8]
jne 0x538911
cmp dword [esi + 0x234], 0
je 0x538779
lea eax, [esi + 0x234]
call fcn.00415b74
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
xor edx, edx
call fcn.00534864
mov eax, ebx
mov edx, dword [esi + 0x50]
call fcn.0051bf38
mov dword [esi + 0x260], 0xffffffff
mov dword [esi + 0x21c], 0xffffffff
mov dword [esi + 0x224], 0xffffffff
mov edx, ebx
mov eax, dword [esi + 0x25c]
call fcn.0052e130
mov eax, esi
call fcn.00545558
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x5387dc
mov al, 1
call fcn.0050fff8
mov eax, dword [esi + 0x25c]
test eax, eax
je case.0x53932a.0
test byte [eax + 0x1c], 8
jne case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x5388aa
xor edx, edx
mov eax, esi
call fcn.00544384
xor edx, edx
mov eax, esi
call fcn.00546470
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x538837
cmp dword [esi + 0x250], 0
je 0x538837
xor edx, edx
mov eax, esi
call fcn.005452b8
mov eax, esi
call fcn.00535208
test al, al
je 0x538860
cmp byte [esi + 0x22f], 0
jne 0x538860
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a608
mov eax, esi
call fcn.00543f5c
cmp byte [esi + 0x5c], 0
je 0x538886
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x538886
mov edx, 0xff00000f
mov eax, dword [esi + 0x25c]
call fcn.0048e78c
xor edx, edx
mov eax, esi
call fcn.00546a80
push 0x585
push 0
push 0
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x36c]
push eax
call fcn.0040a4e0
mov eax, dword [esi + 0x25c]
call fcn.00492ba4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x5388f7
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, dword [0x44c754]
call fcn.00404604
test al, al
je 0x5388f3
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, eax
xor ecx, ecx
mov eax, esi
call fcn.00548c34
inc edi
dec ebp
jne 0x5388bf
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je case.0x53932a.0
add eax, 0x40
call fcn.00415b74
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x25c]
call fcn.0052e130
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne 0x538bc6
cmp dword [esi + 0x50], 0
je 0x538bc6
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp eax, dword [ebx + 8]
jne 0x538bc6
cmp dword [esi + 0x264], 0
jne 0x538bc6
mov eax, esi
call fcn.0054504c
jmp 0x538bc6
mov eax, dword [0x655070]
mov eax, dword [eax]
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
pop edx
call fcn.0040a6a8
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov dword [ebx + 0xc], 1
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
movzx edx, word [eax + 0x4a]
and dx, 0x400
cmp dx, 0x400
jne 0x538bc6
and word [eax + 0x4a], 0xfbff
push 0
push 0
push 0xb015
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp 0x538bc6
mov edi, dword [esi + 0x50]
test edi, edi
je 0x538bc6
xor edx, edx
mov eax, edi
call fcn.0051be90
test al, al
je 0x538bc6
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004095f8
mov eax, dword [ebx + 8]
mov edx, dword [esp + 0x84]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0xc], edx
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x35], 0
je 0x538a4c
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
je 0x538a39
cmp byte [esi + 0x230], 0
je 0x538a4c
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x538a4c
mov eax, esi
call fcn.00541298
mov eax, dword [ebx + 8]
cmp byte [eax + 0x31], 0
je 0x538a6f
mov eax, esi
call fcn.005436e8
mov edx, dword [ebx + 8]
add dword [edx + 8], eax
mov eax, esi
call fcn.00543778
mov edx, dword [ebx + 8]
add dword [edx + 0xc], eax
mov eax, dword [esi + 0x25c]
cmp word [eax + 0x30a], 0
je 0x538ac6
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 8]
mov dword [edx], eax
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
lea ecx, [esp + 0x88]
pop edx
call fcn.004095f8
mov edi, dword [ebx + 8]
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov eax, dword [esp + 0x88]
mov dword [edi + 0xc], eax
mov byte [edi + 0x30], 2
jmp case.0x53932a.0
mov edi, dword [esi + 0x50]
cmp dword [edi + 0x28], 0xffffffff
jle 0x538b04
push 0
mov eax, edi
call fcn.0051b8fc
mov eax, dword [eax + 0xdc]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
mov edx, dword [eax + edx*4 + 8]
dec edx
movzx eax, byte [esi + 0x254]
call fcn.0040b62c
mov ecx, eax
mov edx, dword [ebx + 8]
mov eax, edi
call fcn.00519ebc
jmp 0x538b20
push 0
movzx eax, byte [esi + 0x254]
xor edx, edx
call fcn.0040b62c
mov ecx, eax
mov edx, dword [ebx + 8]
mov eax, edi
call fcn.00519ebc
mov eax, dword [ebx + 8]
cmp byte [eax + 0x30], 2
jne 0x538b46
cmp byte [eax + 0x31], 0
jne 0x538b46
cmp dword [eax], 0
jne 0x538b46
mov eax, esi
call fcn.00541298
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [ebx + 8]
mov dword [edx], eax
mov eax, dword [ebx + 8]
lea edi, [eax + 8]
mov eax, esi
call fcn.005436e8
add dword [edi], eax
mov ebp, dword [edi]
test ebp, ebp
je 0x538b70
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x20]
sub edx, ebp
xor eax, eax
call fcn.0040b6f4
mov edx, dword [ebx + 8]
mov dword [edx + 0x20], eax
mov eax, esi
call fcn.00543778
add dword [edi + 4], eax
mov esi, dword [edi + 4]
test esi, esi
je case.0x53932a.0
mov eax, dword [ebx + 8]
mov edx, dword [eax + 0x24]
sub edx, esi
xor eax, eax
call fcn.0040b6f4
mov edx, dword [ebx + 8]
mov dword [edx + 0x24], eax
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
movzx edx, word [eax + 0x4a]
and dx, 2
cmp dx, 2
jne 0x538bb7
xor edx, edx
call fcn.0051b4c4
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne 0x538be4
mov dl, 1
mov eax, dword [esi + 0x50]
call fcn.0051be90
test al, al
jne 0x539036
cmp dword [ebx], 0xa100
jne 0x538e5c
movzx eax, word [ebx + 6]
dec ax
je 0x538c0b
sub ax, 3
jne 0x538e5c
mov dword [ebx + 0xc], esi
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne 0x538e5c
cmp dword [esi + 0x50], 0
je 0x538e5c
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp eax, dword [ebx + 8]
jne case.0x53932a.0
mov eax, esi
call fcn.00546ca4
mov al, 1
call fcn.0050fff8
mov eax, dword [esi + 0x50]
call fcn.0051c7e0
mov dword [esi + 0x21c], 0xffffffff
mov eax, esi
call fcn.00546de8
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, 0x53e684
call fcn.0057e6b4
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x538e3a
cmp dword [esi + 0x278], 0
je 0x538ccd
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a418
test eax, eax
je 0x538ccd
mov eax, esi
call fcn.00548bf8
mov ebx, eax
mov eax, dword [esi + 0x25c]
call fcn.0053458c
add eax, 4
cmp ebx, eax
setg al
mov byte [esi + 0x218], al
jmp 0x538cd4
mov byte [esi + 0x218], 0
mov dl, 1
mov eax, esi
call fcn.00546470
mov eax, esi
call fcn.00544930
mov ebx, dword [esi + 0x25c]
cmp byte [ebx + 0x287], 2
jne 0x538d0e
mov eax, ebx
call fcn.004a98ac
mov edx, dword [0x6554cc]
mov edx, dword [edx]
cmp eax, dword [edx + 0x64]
jne 0x538d0e
mov byte [esi + 0x254], 1
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test byte [eax + 0x1c], 1
jne 0x538dd2
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x2a0], 0
je 0x538d3f
cmp byte [esi + 0xca], 0
je 0x538d3f
mov byte [esi + 0xc9], 1
mov dl, 1
mov eax, esi
call fcn.00544384
cmp byte [esi + 0xc9], 0
jne 0x538d5e
mov eax, esi
call fcn.00543f5c
mov byte [esi + 0xc9], al
cmp dword [esi + 0x238], 0
je 0x538dd2
mov eax, dword [esi + 0x25c]
call fcn.00492ba4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x538dd2
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, dword [0x44c754]
call fcn.00404604
test al, al
je 0x538dce
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, eax
mov eax, dword [esi + 0x238]
call fcn.0054c2bc
test al, al
je 0x538dce
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, eax
mov cl, 1
mov eax, esi
call fcn.00548c34
inc edi
dec ebp
jne 0x538d7c
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov dword [esi + 0x260], 0xffffffff
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x538dfb
mov dl, 1
mov eax, esi
call fcn.005452b8
cmp byte [esi + 0x5c], 0
je 0x538e24
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x538e24
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00575308
mov edx, eax
mov eax, dword [esi + 0x25c]
call fcn.0048e78c
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
movzx edx, byte [esi + 0x78]
call fcn.00534864
mov eax, dword [esi + 0x238]
test eax, eax
jne 0x538e50
mov eax, esi
call fcn.00545514
jmp case.0x53932a.0
xor edx, edx
call fcn.0054bf18
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx]
sub eax, 0x47
je 0x538e8a
sub eax, 0x3b
je 0x538f65
sub eax, 0xafc1
je 0x539028
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je case.0x53932a.0
call fcn.0051e964
test al, al
je case.0x53932a.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne case.0x53932a.0
cmp byte [esi + 0x95], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
jne case.0x53932a.0
cmp byte [esi + 0x232], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0x3c], 0
je case.0x53932a.0
cmp byte [esi + 0x78], 0
je case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je case.0x53932a.0
mov eax, dword [0x654790]
xor edx, edx
mov dword [eax], edx
mov byte [esi + 0x232], 1
mov eax, esi
call fcn.0052b44c
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x538f3b
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
xor edx, edx
call fcn.005385a8
mov byte [esi + 0x232], 0
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne case.0x53932a.0
mov eax, dword [0x655200]
cmp dword [eax], 0
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
cmp dword [eax + 0x250], 0
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
test byte [eax + 0x1c], 8
jne case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov dl, 1
call fcn.0051be90
test al, al
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
call fcn.00544878
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
test eax, eax
jne case.0x53932a.0
push 0x507
push 0
push 0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
mov eax, dword [eax + 0x36c]
push eax
call fcn.0040a4e0
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00546ec8
jmp case.0x53932a.0
mov eax, dword [ebx]
cmp eax, 0xa4
jg 0x53919b
je 0x53c0e9
cmp eax, 0x2c
jg 0x5390fc
je 0x53d328
cmp eax, 0x24
ja case.0x539061.0
jmp dword [eax*4 + 0x539068]
cmp eax, 0x81
jg 0x539152
je 0x53b4ca
cmp eax, 0x4e
jg 0x539132
je 0x53e581
sub eax, 0x46
je 0x53deb9
dec eax
je 0x53df0a
sub eax, 3
je 0x5399c9
jmp case.0x539061.0
sub eax, 0x7b
je 0x539aa9
sub eax, 2
je 0x539c5b
sub eax, 3
je 0x539ba9
jmp case.0x539061.0
cmp eax, 0xa0
jg 0x53917d
je 0x539930
sub eax, 0x84
je 0x53b1f6
dec eax
je 0x53c717
dec eax
je 0x53ce9a
jmp case.0x539061.0
sub eax, 0xa1
je 0x53b4f7
dec eax
je 0x53c18b
dec eax
je 0x53d188
jmp case.0x539061.0
cmp eax, 0x323
jg 0x539263
je 0x539a5f
cmp eax, 0x212
jg 0x539211
je 0x53b1c9
cmp eax, 0x200
jg 0x5391f1
je 0x53bbfb
sub eax, 0xa5
je 0x53c10b
sub eax, 0x6d
je 0x53d3ac
sub eax, 5
je 0x539c3b
sub eax, 0xa
je 0x53c199
jmp case.0x539061.0
sub eax, 0x202
je 0x53c18b
sub eax, 0xe
je 0x53e4c0
dec eax
je 0x53b068
jmp case.0x539061.0
cmp eax, 0x2a3
jg 0x539243
je 0x53b436
sub eax, 0x214
je 0x53b407
add eax, 0xfffffff3
sub eax, 2
jb 0x53cff9
sub eax, 0xf
je 0x539b24
jmp case.0x539061.0
sub eax, 0x313
je 0x539d35
sub eax, 4
je 0x53c25e
dec eax
je case.0x53932a.0
jmp case.0x539061.0
cmp eax, 0xb015
jg 0x5392c3
je 0x53c1e9
cmp eax, 0xb00b
jg 0x5392a3
je 0x53d0e0
sub eax, 0x326
je 0x539a34
sub eax, 0x9dda
je 0x539316
sub eax, 0x300
je 0x539987
jmp case.0x539061.0
sub eax, 0xb00c
je 0x53a64d
sub eax, 7
je 0x53b46e
dec eax
je 0x53b436
jmp case.0x539061.0
cmp eax, 0xb03a
jg 0x5392f2
je 0x53c1a3
sub eax, 0xb019
je 0x539d77
sub eax, 0x13
je 0x53e5bf
sub eax, 7
je 0x53ce56
jmp case.0x539061.0
sub eax, 0xb043
je 0x53996b
sub eax, 9
je 0x53c70d
sub eax, 0xc01
je 0x53c70d
jmp case.0x539061.0
movzx eax, word [ebx + 6]
cmp eax, 0x3e
ja case.0x53932a.0
movzx eax, byte [eax + 0x539331]
jmp dword [eax*4 + 0x539370]
cmp dword [esi + 0x25c], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 1
jne case.0x53932a.0
cmp dword [esi + 0x238], 0
je case.0x53932a.0
cmp dword [ebx + 8], 0
je 0x5393f3
mov edx, dword [ebx + 8]
mov eax, dword [esi + 0x238]
call fcn.0054bf18
jmp case.0x53932a.0
mov edx, dword [esi + 0x25c]
mov eax, dword [esi + 0x238]
call fcn.0054bf18
jmp case.0x53932a.0
cmp dword [esi + 0x50], 0
je case.0x53932a.0
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x539432
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x539432
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x539436
xor eax, eax
jmp 0x539438
mov al, 1
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
je case.0x53932a.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
push 0x401
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x53932a.0
cmp dword [ebx + 8], 1
jne 0x53948f
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, esi
call fcn.00535690
jmp case.0x53932a.0
cmp word [ebx + 4], 1
sete dl
mov eax, dword [esi + 0x50]
call fcn.0051be8c
mov eax, dword [esi + 0x50]
call fcn.0051b910
test al, al
je case.0x53932a.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp eax, dword [ebx + 8]
jne case.0x53932a.0
cmp dword [esi + 0x238], 0
jne 0x5394ea
mov eax, esi
call fcn.00545514
jmp 0x5394f7
xor edx, edx
mov eax, dword [esi + 0x238]
call fcn.0054bf18
cmp byte [esi + 0x78], 0
je 0x539515
cmp byte [esi + 0xa8], 0
je 0x539515
lea edx, [esi + 0x234]
xor ecx, ecx
mov eax, esi
call fcn.0053558c
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
je 0x539539
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x539539
mov eax, dword [esi + 0x50]
and word [eax + 0x4a], 0xfffe
mov dword [esi + 0x260], 0xffffffff
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test byte [eax + 0x1c], 1
jne 0x53956b
mov eax, esi
call fcn.00543f5c
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051be90
mov edx, eax
mov eax, esi
call fcn.00544384
mov eax, esi
call fcn.00535208
test al, al
je 0x53957a
mov byte [esi + 0x34], 1
mov eax, esi
call fcn.00548a90
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x57], 0
je case.0x53932a.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00580734
mov edx, eax
mov eax, esi
call fcn.00546a80
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x53965e
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53961a
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
test eax, eax
je 0x53961a
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53961a
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.005471f0
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
call fcn.00496f10
push eax
call fcn.0040a3c0
jmp 0x53965e
push 0x545
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53965e
push 0x545
push 0
push 0
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x36c]
push eax
call fcn.0040a4e0
cmp byte [esi + 0x5c], 0
je 0x539687
mov eax, dword [esi + 0x50]
cmp byte [eax + 9], 0
jne 0x539687
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00575308
mov edx, eax
mov eax, dword [esi + 0x25c]
call fcn.0048e78c
cmp dword [esi + 0x250], 0
je 0x53969b
mov eax, dword [esi + 0x250]
call fcn.004cb11c
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051be8c
cmp dword [esi + 0x264], 0
je 0x5396b9
mov eax, dword [esi + 0x264]
call fcn.0054b280
mov edx, ebx
mov eax, esi
call fcn.005455a8
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xdc]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
mov edi, dword [eax + edx*4 + 0xa8]
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xdc]
mov edx, dword [esi + 0x50]
imul edx, dword [edx + 0x28], 0x43
add edi, dword [eax + edx*4 + 0xb4]
test edi, edi
jle 0x539728
mov dword [ebx + 8], 1
jmp 0x53976a
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x24], 0
jl 0x53975e
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x24]
mov ecx, edx
add edx, edx
add edx, edx
add edx, edx
sub edx, ecx
movzx eax, word [eax + edx*8 + 0x22]
and ax, 4
cmp ax, 4
je 0x539762
xor eax, eax
jmp 0x539764
mov al, 1
and eax, 0x7f
mov dword [ebx + 8], eax
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051a4c0
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov dword [ebx + 0xc], esi
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp eax, dword [ebx + 8]
jne case.0x53932a.0
mov al, 1
call fcn.0050fff8
mov eax, dword [esi + 0x50]
call fcn.0051c7e0
mov dword [esi + 0x21c], 0xffffffff
mov eax, esi
call fcn.00546de8
mov dword [esi + 0x21c], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, 0x53e684
call fcn.0057e6b4
mov dword [esi + 0x224], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je case.0x53932a.0
mov eax, esi
call fcn.00544930
mov al, 1
call fcn.0050fff8
movzx edx, byte [esi + 0x78]
mov eax, esi
call fcn.00546470
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x44]
call fcn.005120cc
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov dword [esi + 0x260], 0xffffffff
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.005471f0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne case.0x53932a.0
mov dl, 1
mov eax, esi
call fcn.005452b8
jmp case.0x53932a.0
mov cl, 1
or edx, 0xffffffff
mov eax, esi
call fcn.0053fa08
mov byte [0x651cb0], 0
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051baf4
test al, al
je case.0x53932a.0
push 0
push 0
push 0xb
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051baf4
test al, al
je case.0x53932a.0
push 0
push 1
push 0xb
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
push 0x585
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [0x655200]
cmp esi, dword [eax]
jne case.0x53932a.0
push 0x581
push 0
push 0
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x36c]
push eax
call fcn.0040a4e0
jmp case.0x53932a.0
mov eax, ebx
mov edx, dword [esi + 0x50]
call fcn.0051c91c
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x34], 0
je case.0x53932a.0
mov eax, esi
call fcn.00541298
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
pop edx
call fcn.0057fa30
mov edx, ebx
mov eax, esi
call fcn.00547144
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov edx, ebx
mov eax, esi
call fcn.00546ec8
jmp case.0x53932a.0
mov eax, dword [ebx + 4]
dec eax
je 0x5399ad
sub eax, 2
je 0x53999a
dec eax
je 0x5399bd
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.004ad078
jmp case.0x53932a.0
mov dword [ebx + 0xc], 1
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [ebx + 0xc], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov edx, dword [0x6550f8]
cmp eax, dword [edx]
jne case.0x53932a.0
mov eax, dword [0x654a3c]
cmp byte [eax], 0
jne case.0x53932a.0
mov eax, dword [0x654a3c]
mov byte [eax], 1
cmp dword [ebx + 8], 0
je 0x539a27
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, eax
mov eax, ebx
call fcn.005738b4
mov eax, dword [0x654a3c]
mov byte [eax], 0
jmp case.0x53932a.0
mov eax, dword [0x65500c]
cmp byte [eax], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov edx, esi
call fcn.005331c4
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov eax, dword [0x65500c]
cmp byte [eax], 0
je case.0x53932a.0
cmp word [ebx + 0xa], 0
je case.0x53932a.0
cmp word [ebx + 8], 0
je case.0x53932a.0
movzx eax, word [ebx + 8]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
movzx ecx, word [ebx + 0xa]
mov edx, esi
call fcn.00532f38
and eax, 0x7f
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x7c], 0
je 0x539adc
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
movzx eax, byte [eax + 0x58]
push eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 0x25c]
mov edx, dword [edx + 0x7c]
pop ecx
call fcn.005136b4
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp dword [ebx + 4], 1
jne 0x539b0b
mov edx, dword [esi + 0xc4]
dec edx
xor eax, eax
call fcn.0040b6f4
mov dword [esi + 0xc4], eax
jmp 0x539b11
inc dword [esi + 0xc4]
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov eax, dword [0x655268]
cmp dword [eax], 0
je case.0x53932a.0
mov eax, dword [0x655268]
mov eax, dword [eax]
mov ebp, dword [eax + 8]
dec ebp
test ebp, ebp
jl case.0x53932a.0
inc ebp
xor edi, edi
mov eax, dword [0x655268]
mov eax, dword [eax]
mov edx, edi
call fcn.004242fc
test eax, eax
je 0x539b92
mov eax, dword [0x655268]
mov eax, dword [eax]
mov edx, edi
call fcn.004242fc
mov eax, dword [eax + 0x30]
xor ecx, ecx
mov edx, 0x12
call fcn.0052df84
inc edi
dec ebp
jne 0x539b63
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00546b30
jmp case.0x53932a.0
test byte [esi + 0x1c], 1
jne 0x539c28
cmp dword [ebx + 8], 0
je 0x539c28
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x539c28
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x539c28
call fcn.005347b8
test al, al
jne 0x539bee
push 0
push 0
push 0xb
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
call fcn.005347b8
test al, al
jne 0x539c1c
push 0
push 1
push 0xb
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
mov eax, esi
call fcn.00535690
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0x58], 0
je case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00546740
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x264]
test eax, eax
je 0x539caa
cmp dword [eax + 0x98], 0
je 0x539caa
mov edx, dword [esi + 0x25c]
test byte [edx + 0x280], 1
setne dl
mov ecx, dword [eax + 0x98]
cmp dl, byte [ecx + 0x3a]
je 0x539caa
xor edx, edx
call fcn.0054b284
mov eax, esi
call fcn.00535690
jmp case.0x53932a.0
cmp dword [ebx + 4], 0xffffffec
jne case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x80
cmp eax, 0x80
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x100
cmp eax, 0x100
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x400
cmp eax, 0x400
je case.0x53932a.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 4]
and eax, 0x80000
mov edx, dword [ebx + 8]
mov edx, dword [edx]
and edx, 0x80000
cmp eax, edx
je case.0x53932a.0
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
lea edx, [esp + 0x84]
mov eax, dword [0x65540c]
mov eax, dword [eax]
call fcn.0049c4c4
mov eax, dword [esp + 0x88]
push eax
lea edx, [esp + 0x90]
mov eax, dword [0x65540c]
mov eax, dword [eax]
call fcn.0049c4c4
mov edx, dword [esp + 0x90]
mov eax, esi
pop ecx
call fcn.00543234
jmp case.0x53932a.0
mov dword [esp + 4], 0xff
cmp byte [esi + 0x78], 0
je 0x53a23e
cmp byte [esi + 0xa8], 0
je 0x53a23e
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53a1db
cmp byte [eax + 0x287], 1
jne 0x539ddb
cmp dword [esi + 0x238], 0
je 0x539dc8
mov edx, eax
mov eax, dword [esi + 0x238]
call fcn.0054bf18
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x539df3
mov dl, 1
mov eax, esi
call fcn.005452b8
and dword [esi + 0x23c], 0xfffffdff
cmp dword [esi + 0x278], 0
je 0x539e10
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
cmp dword [esi + 0x228], 0
je 0x539e39
mov eax, dword [esi + 0x228]
mov edx, dword [0x532dc0]
call fcn.00404604
test al, al
je 0x539e39
lea eax, [esi + 0x228]
call fcn.00415b74
mov eax, dword [0x654864]
cmp byte [eax], 0
je 0x539e81
mov eax, dword [esi + 0x25c]
call fcn.004972bc
test al, al
je 0x539e81
mov eax, dword [0x655070]
mov eax, dword [eax]
cmp dword [eax + 0x40], 0
je 0x539e71
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne 0x539e81
mov eax, dword [esi + 0x25c]
call fcn.00496f10
call fcn.0053627c
mov eax, esi
call fcn.00544fd0
cmp dword [esi + 0x238], 0
je 0x539ea2
mov edx, dword [esi + 0x25c]
mov eax, dword [esi + 0x238]
call fcn.0054bf18
cmp byte [esi + 0x95], 0
je 0x539eef
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x539ec6
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x539eef
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0xc]
cmp byte [eax + 6], 0
je 0x539eef
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov edx, dword [0x6550f8]
cmp eax, dword [edx]
jne 0x539ef3
xor eax, eax
jmp 0x539ef5
mov al, 1
mov byte [esi + 0x233], al
mov byte [esp + 0x11], 0
cmp byte [esi + 0x233], 0
je 0x539fda
mov dl, 1
mov eax, dword [esi + 0x50]
call fcn.0051be8c
mov byte [esi + 0x230], 1
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov dl, 1
call fcn.005385a8
mov byte [esp + 0x11], al
mov dword [esp + 4], 0xff
cmp byte [esp + 0x11], 0
je 0x539f57
xor edx, edx
mov eax, esi
call fcn.00535250
mov byte [esi + 0x240], 0
jmp 0x539f75
mov eax, dword [esi + 0x25c]
movzx eax, byte [eax + 0x331]
mov dword [esp + 4], eax
xor edx, edx
mov eax, dword [esi + 0x25c]
call fcn.004adc54
mov eax, dword [esi + 0x25c]
call fcn.00492ba4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x539fe4
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
cmp byte [eax + 0x57], 0
je 0x539fd4
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov edx, dword [0x6497ec]
call fcn.00404604
test al, al
jne 0x539fd4
push 0
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
xor ecx, ecx
mov edx, 0xb
call fcn.0048f934
inc edi
dec ebp
jne 0x539f8a
jmp 0x539fe4
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051be8c
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00580734
mov edx, eax
mov eax, esi
call fcn.00546a80
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051be90
test al, al
jne 0x53a0c3
cmp byte [esi + 0x233], 0
je 0x53a0c3
mov eax, dword [esi + 0x25c]
call fcn.00492ba4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53a071
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
cmp byte [eax + 0x57], 0
je 0x53a06d
push 0
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov ecx, 1
mov edx, 0xb
call fcn.0048f934
inc edi
dec ebp
jne 0x53a03c
push 0xffffffffffffffec
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a348
and eax, 0xfff7ffff
push eax
push 0xffffffffffffffec
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a5d8
push 0x81
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov byte [esi + 0x240], 0
jmp case.0x53932a.0
lea edx, [esi + 0x234]
xor ecx, ecx
mov eax, esi
call fcn.0053558c
cmp byte [esi + 0x233], 0
je 0x53a18f
mov eax, dword [esi + 0x25c]
call fcn.00492ba4
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53a129
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
cmp byte [eax + 0x57], 0
je 0x53a125
push 0
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.00492b68
mov ecx, 1
mov edx, 0xb
call fcn.0048f934
inc edi
dec ebp
jne 0x53a0f4
cmp byte [esp + 0x11], 0
je 0x53a144
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
xor edx, edx
call fcn.005385a8
mov byte [esi + 0x233], 0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0xc]
movzx edi, word [eax + 4]
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0xc]
movzx eax, byte [eax + 7]
mov byte [esp + 0x13], al
movzx eax, byte [esp + 0x13]
push eax
mov ecx, dword [esp + 8]
mov edx, edi
mov eax, esi
call fcn.0052aa94
mov byte [esi + 0x240], 0
jmp 0x53a1a9
push 0x81
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne case.0x53932a.0
mov al, 1
call fcn.0053841c
jmp case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53a22b
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x53a220
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
movzx eax, word [eax + 4]
mov ecx, 0xc
xor edx, edx
div ecx
test eax, eax
je 0x53a220
cmp byte [esi + 0x95], 0
jne 0x53a22b
lea eax, [esi + 0x278]
call fcn.00415b74
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
call fcn.005347b8
test al, al
je 0x53a27b
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53a27b
push 0
push 1
push 0xb
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
call fcn.005347b8
test al, al
je case.0x53932a.0
push 0x181
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53a3e7
cmp dword [ebx + 4], 1
jne 0x53a350
cmp dword [esi + 0x278], 0
je 0x53a2de
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
mov eax, dword [esi + 0x23c]
and eax, 0x400
cmp eax, 0x400
jne 0x53a2fc
mov dword [esi + 0x23c], 0x400
jmp 0x53a304
xor eax, eax
mov dword [esi + 0x23c], eax
call fcn.005347b8
test al, al
je 0x53a350
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x53a350
push 0xffffffffffffffec
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a348
and eax, 0x80000
cmp eax, 0x80000
je 0x53a350
push 0x481
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [ebx + 8]
dec eax
je 0x53a360
sub eax, 2
je 0x53a3ae
jmp 0x53a3e7
cmp byte [esi + 0x231], 0
je 0x53a3e7
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53a387
mov byte [esi + 0x231], 2
jmp 0x53a3e7
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a418
test eax, eax
je 0x53a3a5
mov byte [esi + 0x231], 3
jmp 0x53a3e7
mov byte [esi + 0x231], 1
jmp 0x53a3e7
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x53a3e7
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne 0x53a3e7
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [ebx + 4], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53a429
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53a429
mov eax, dword [0x655200]
mov eax, dword [eax]
call fcn.00544878
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53a48a
mov eax, dword [esi + 0x25c]
call fcn.004a98e0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53a48a
inc ebp
xor edi, edi
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.004a992c
call fcn.00496f10
mov edx, 7
call fcn.0052e02c
test al, al
jne 0x53a486
mov edx, edi
mov eax, dword [esi + 0x25c]
call fcn.004a992c
call fcn.00496f10
xor edx, edx
call fcn.004f8ed4
inc edi
dec ebp
jne 0x53a44d
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je case.0x53932a.0
mov eax, dword [esi + 0x50]
and word [eax + 0x4a], 0xfffe
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.004972bc
test al, al
je 0x53a63a
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a410
test eax, eax
je 0x53a63a
mov eax, dword [esi + 0x25c]
test byte [eax + 0x54], 0x40
jne 0x53a63a
cmp byte [esi + 0x78], 0
je 0x53a63a
cmp dword [esi + 0xd0], 0
je 0x53a51c
lea eax, [esi + 0xd0]
call fcn.00415b74
cmp dword [esi + 0xd4], 0
je 0x53a530
lea eax, [esi + 0xd4]
call fcn.00415b74
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53a589
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53a589
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x655200]
mov eax, dword [eax]
xor edx, edx
call fcn.00534cc8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x655200]
mov eax, dword [eax]
call fcn.00535010
jmp 0x53a619
call fcn.005347b8
test al, al
jne 0x53a5e2
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
xor edx, edx
mov eax, esi
call fcn.00534cc8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, esi
call fcn.00535010
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x330], 0
je 0x53a619
push 0
push 0
push 0x85
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp 0x53a619
cmp dword [esi + 0x278], 0
jne 0x53a5f4
xor edx, edx
mov eax, esi
call fcn.00534cc8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, esi
call fcn.00535690
cmp dword [esi + 0x278], 0
jne 0x53a619
mov eax, esi
call fcn.00535010
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp byte [esi + 0x78], 0
je case.0x53932a.0
mov edi, dword [esi + 0x278]
test edi, edi
je 0x53a68a
cmp dword [edi + 0x18], 0
je 0x53a68a
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
mov edx, eax
mov eax, dword [edi + 0x18]
mov ecx, dword [eax]
call dword [ecx + 0x64]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
push 0
push 0
push 0x85
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, esi
call fcn.00543f5c
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, esi
call fcn.00543f5c
mov eax, dword [0x655200]
cmp dword [eax], 0
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
test eax, eax
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53a739
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x250]
call fcn.004cb1bc
jmp case.0x53932a.0
mov dl, 1
mov eax, esi
call fcn.00546470
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x53b029
mov eax, esi
call fcn.005348d4
test al, al
je 0x53a917
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edi, dword [eax + 0x18c]
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, edi
call fcn.005776e8
test al, al
je 0x53a917
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004ba9e4
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004baa1c
mov edi, eax
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
mov ebp, eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
cmp ebp, eax
jl 0x53a80a
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570ff8
mov ebp, eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
cmp ebp, eax
jge 0x53a875
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
jne 0x53a875
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
test eax, eax
je 0x53a875
mov eax, dword [esi + 0x214]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x214]
sub edx, edi
mov eax, dword [esi + 0x210]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x210]
call fcn.004095c8
mov eax, dword [esi + 0x50]
call fcn.00519adc
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
mov ebp, eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
cmp ebp, eax
jg 0x53a8b1
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570ff8
mov ebp, eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
cmp ebp, eax
jle 0x53a917
mov eax, dword [esi + 0x25c]
call fcn.0048df28
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
sub eax, edi
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
sub eax, dword [esp + 0x14]
pop edx
pop ecx
call fcn.004095c8
mov eax, dword [esi + 0x50]
call fcn.00519adc
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
cmp edi, eax
jg 0x53a968
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570ff8
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
cmp edi, eax
jg 0x53a968
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
test eax, eax
jne 0x53aae2
push 0x53e6a0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, dword [esi + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x28]
call fcn.0057e70c
mov edi, eax
cmp edi, 0xffffffff
jle 0x53aa25
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004ba9e4
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004baa1c
mov edi, eax
mov eax, dword [esi + 0x214]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x214]
sub edx, edi
mov eax, dword [esi + 0x210]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x210]
call fcn.004095c8
mov eax, dword [esi + 0x50]
call fcn.00519adc
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
push 0x53e6c4
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, dword [esi + 0x50]
mov ecx, dword [edx + 4]
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x28]
call fcn.0057e70c
mov edi, eax
cmp edi, 0xffffffff
jle 0x53aae2
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004ba9e4
mov dword [esp + 4], eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0xd4]
mov edx, edi
add edx, edx
add edx, edx
add edx, edx
sub edx, edi
lea eax, [eax + edx*8]
call fcn.004baa1c
mov edi, eax
mov eax, dword [esi + 0x214]
push eax
lea eax, [esp + 0x38]
push eax
mov edx, dword [esi + 0x214]
sub edx, edi
mov eax, dword [esi + 0x210]
sub eax, dword [esp + 0xc]
mov ecx, dword [esi + 0x210]
call fcn.004095c8
mov eax, dword [esi + 0x50]
call fcn.00519adc
xor al, 1
neg al
sbb eax, eax
push eax
lea eax, [esp + 0x38]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
cmp dword [esi + 0xd0], 0
je 0x53aaf6
lea eax, [esi + 0xd0]
call fcn.00415b74
cmp dword [esi + 0xd4], 0
je 0x53ab0a
lea eax, [esi + 0xd4]
call fcn.00415b74
mov dword [esi + 0x260], 0xffffffff
mov eax, dword [esi + 0x23c]
and eax, 0x80
cmp eax, 0x80
jne 0x53ab2d
mov eax, esi
call fcn.00533bd4
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53ab60
cmp byte [esi + 0xa8], 0
je 0x53ab60
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x53ab6e
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x6549a8]
cmp byte [eax], 0
jne 0x53afe9
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53afe2
mov eax, esi
call fcn.00543aac
test al, al
je 0x53af48
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53abc0
cmp byte [esi + 0x22e], 0
jne 0x53af48
mov byte [esi + 0x34], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je 0x53ac18
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x53ac0c
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x30]
mov edx, dword [esi + 0x25c]
cmp eax, dword [edx + 0x48]
jg 0x53ac10
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x24]
mov edx, dword [esi + 0x25c]
cmp eax, dword [edx + 0x4c]
jg 0x53ac10
xor eax, eax
jmp 0x53ac12
mov al, 1
mov byte [esp + 0x10], al
jmp 0x53ac1d
mov byte [esp + 0x10], 0
cmp byte [esi + 0x78], 0
je 0x53aeec
mov eax, dword [0x654d80]
cmp byte [eax], 0
je 0x53ac54
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53ac54
cmp dword [esi + 0x278], 0
je 0x53ac54
lea eax, [esi + 0x278]
call fcn.00415b74
mov eax, dword [esi + 0x278]
test eax, eax
je 0x53ad07
cmp dword [eax + 0x18], 0
jne 0x53ac6d
call fcn.0054ffc0
cmp dword [esi + 0x234], 0
je 0x53ac94
mov eax, dword [esi + 0x234]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 0x24], 0
jne 0x53aca1
mov eax, dword [esi + 0x234]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x24], 0
jne 0x53aca1
cmp byte [esi + 0x54], 0
jne 0x53aca1
or dword [esi + 0x23c], 1
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
and dword [esi + 0x23c], 0xfffffffe
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 1
push 0x61b
push 0
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a5f0
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
mov dl, 1
mov eax, esi
call fcn.00535250
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
jmp 0x53ad17
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.005471f0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4c]
and ax, 2
cmp ax, 2
jne 0x53ad53
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570ff8
mov ebx, eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
cmp ebx, eax
jne 0x53ad82
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4c]
and ax, 1
cmp ax, 1
jne 0x53adb3
lea eax, [esi + 0x208]
xor edx, edx
call fcn.00570fe4
mov ebx, eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
cmp ebx, eax
je 0x53adb3
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x14
mov ax, 1
call fcn.0040a6e8
mov edx, eax
xor ecx, ecx
mov eax, 0xa100
call fcn.00570e14
lea edx, [esp + 0x14]
mov eax, dword [esi + 0x25c]
call fcn.0052e130
cmp dword [esi + 0x278], 0
je 0x53aec5
mov eax, dword [esi + 0x234]
test eax, eax
je 0x53adfc
cmp dword [eax + 0x7c], 0
je 0x53adfc
cmp dword [eax + 0x78], 0
je 0x53adfc
mov eax, dword [esi + 0x234]
mov eax, dword [eax + 0x7c]
cmp byte [eax + 0x24], 0
jne 0x53aec5
mov eax, dword [esi + 0x234]
mov eax, dword [eax + 0x78]
cmp byte [eax + 0x24], 0
jne 0x53aec5
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
jne 0x53ae13
mov eax, dword [esi + 0x278]
call fcn.0054ffc0
push 0x101
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
cmp dword [esi + 0x278], 0
je 0x53aeba
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53aeba
push 0x61b
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a5f0
cmp dword [esi + 0x278], 0
je 0x53aeae
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53aeae
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054fe58
push eax
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a608
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
jmp 0x53aedf
xor edx, edx
mov eax, esi
call fcn.00535250
jmp 0x53aedf
push 0x921
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [esi + 0x25c]
call fcn.0052d5ac
jmp 0x53af08
cmp byte [esp + 0x10], 0
je 0x53af08
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
mov eax, dword [esi + 0x25c]
call fcn.0048df28
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004095c8
lea edi, [esi + 0x208]
lea esi, [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53af63
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
jne 0x53af72
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53af84
push 0
xor ecx, ecx
mov edx, 0x85
mov eax, esi
call fcn.005471f0
jmp 0x53afe9
mov eax, dword [ebx + 4]
sub eax, 2
jne 0x53afe9
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53afe9
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53afe9
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x655200]
mov eax, dword [eax]
mov byte [eax + 0x242], 1
push 0x481
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
jmp 0x53afe9
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [esi + 0x25c]
call fcn.0048df28
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004095c8
lea edi, [esi + 0x208]
lea esi, [esp + 0x94]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp case.0x53932a.0
mov byte [esi + 0x34], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, esi
call fcn.00546ca4
xor eax, eax
call fcn.004c9534
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53b1b6
cmp byte [esi + 0x22f], 0
jne 0x53b1b6
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
test eax, eax
je 0x53b1b6
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53b1b6
mov byte [esi + 0x22f], 1
cmp dword [0x651cbc], 0
jne 0x53b0dc
mov ecx, dword [0x655070]
mov ecx, dword [ecx]
mov dl, 1
mov eax, dword [0x4a449c]
call fcn.004a7768
mov dword [0x651cbc], eax
mov eax, dword [0x651cbc]
mov dword [eax + 0xc], 0xffffff9e
xor edx, edx
mov eax, dword [0x651cbc]
call fcn.004a8798
mov edx, 0x53e6e8
mov eax, dword [0x651cbc]
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [0x651cbc]
mov dword [eax + 0x30c], esi
mov dword [eax + 0x308], 0x5455d8
xor edx, edx
mov eax, dword [0x651cbc]
call fcn.004a9670
push 0x58
push 0xf
call fcn.0040a328
dec eax
add eax, 4
push eax
push 0x3c
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov edx, dword [esi + 0x278]
call fcn.00534524
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.004a834c
mov ebp, eax
mov eax, dword [esi + 0x25c]
call fcn.0053458c
add ebp, eax
add edi, ebp
push edi
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov edx, dword [esi + 0x278]
call fcn.00534524
push eax
lea edx, [esp + 0xa8]
mov eax, dword [esi + 0x25c]
call fcn.0048de88
mov eax, dword [esp + 0xb0]
sub eax, 0x3c
pop edx
sub eax, edx
push eax
push 0
mov eax, dword [0x651cbc]
call fcn.00496f10
push eax
call fcn.0040a5f0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov byte [esi + 0x22f], 0
cmp dword [0x651cbc], 0
je 0x53b1e3
mov eax, 0x651cbc
call fcn.00415b74
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp byte [esi + 0x22c], 0
je 0x53b20d
mov byte [esi + 0x22c], 0
mov eax, esi
call fcn.00546fd0
mov dl, 1
mov eax, esi
call fcn.0053617c
test eax, eax
je 0x53b220
cmp byte [esi + 0x78], 0
jne 0x53b233
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00537c04
mov dword [ebx + 0xc], eax
mov eax, dword [ebx + 0xc]
add eax, 0xfffffff8
sub eax, 2
jb 0x53b24f
sub eax, 0xa
jne 0x53b267
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53b267
mov dl, 1
mov eax, esi
call fcn.00546470
mov eax, dword [ebx + 0xc]
sub eax, 3
jb 0x53b280
sub eax, 2
je 0x53b280
add eax, 0xfffffffb
sub eax, 8
jae 0x53b3bc
mov eax, esi
call fcn.005348d4
test al, al
je 0x53b3a9
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edi, dword [eax + 0x18c]
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov edx, edi
call fcn.005776e8
test al, al
je 0x53b3a9
lea eax, [esp + 8]
push eax
movsx ecx, word [ebx + 0xa]
movsx edx, word [ebx + 8]
mov eax, esi
call fcn.005435b4
cmp dword [esi + 0x278], 0
je 0x53b363
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, esi
call fcn.005440d0
mov ebp, dword [esp + 0x88]
mov eax, dword [esi + 0x278]
call fcn.00534654
sub ebp, eax
lea edx, [esp + 0x94]
mov eax, esi
call fcn.00546c6c
sub ebp, dword [esp + 0x98]
cmp ebp, dword [esp + 0xc]
jge 0x53b3a9
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, esi
call fcn.005440d0
mov edi, dword [esp + 0x8c]
mov eax, dword [esi + 0x278]
call fcn.00534690
sub edi, eax
lea edx, [esp + 0xa4]
mov eax, esi
call fcn.00546c6c
sub edi, dword [esp + 0xa4]
cmp edi, dword [esp + 8]
jge 0x53b3a9
mov dword [ebx + 0xc], 0x11
jmp case.0x53932a.0
lea ecx, [esp + 0x84]
mov edx, edi
mov eax, esi
call fcn.005440d0
mov eax, dword [esp + 0x88]
cmp eax, dword [esp + 0xc]
jge 0x53b3a9
lea ecx, [esp + 0x8c]
mov edx, edi
mov eax, esi
call fcn.005440d0
mov eax, dword [esp + 0x8c]
cmp eax, dword [esp + 8]
jge 0x53b3a9
mov dword [ebx + 0xc], 0x11
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp byte [esi + 0x54], 1
jne case.0x53932a.0
cmp dword [0x65b488], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je case.0x53932a.0
mov eax, dword [ebx + 0xc]
sub eax, 2
je 0x53b3fa
add eax, 0xfffffff8
sub eax, 8
jae case.0x53932a.0
mov eax, dword [ebx + 0xc]
mov dword [0x65b488], eax
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
cmp dword [esi + 0x38], 0x7d0
jl 0x53b448
cmp dword [esi + 0x278], 0
jne 0x53b454
mov cl, 1
or edx, 0xffffffff
mov eax, esi
call fcn.0053fa08
mov byte [0x651cb0], 0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
pop edx
call fcn.0057fa30
mov eax, dword [esi + 0x278]
test eax, eax
je case.0x53932a.0
cmp byte [eax + 0x38], 0
je case.0x53932a.0
mov edx, dword [esi + 0x23c]
and edx, 1
cmp edx, 1
je case.0x53932a.0
call fcn.00550044
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je case.0x53932a.0
mov eax, esi
call fcn.0054504c
jmp case.0x53932a.0
cmp byte [esi + 0x78], 0
je 0x53ba84
cmp dword [esi + 0x278], 0
je 0x53b523
cmp dword [ebx + 4], 0x13
jne 0x53b523
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53b542
cmp dword [ebx + 4], 0xffffffff
jne 0x53b542
mov edx, ebx
mov eax, dword [esi + 0x278]
call fcn.0054e06c
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
cmp eax, 8
jge 0x53b55d
sub eax, 3
je 0x53b5e0
sub eax, 2
je 0x53b5cd
jmp 0x53b71e
add eax, 0xfffffff8
sub eax, 2
jb 0x53b579
add eax, 0xfffffff6
sub eax, 2
jb 0x53b579
add eax, 0xffffffb1
sub eax, 3
jae 0x53b71e
cmp dword [0x651cb8], 0
je 0x53b5be
cmp dword [ebx + 4], 0x67
jne 0x53b5a0
mov eax, dword [0x651cb8]
mov eax, dword [eax + 0x264]
mov edx, dword [eax]
call dword [edx + 0x54]
test al, al
je case.0x53932a.0
cmp dword [ebx + 4], 0x66
jne 0x53b5be
mov eax, dword [0x651cb8]
mov eax, dword [eax + 0x264]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
je case.0x53932a.0
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.0053fe80
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
xor eax, eax
mov dword [ebx + 0xc], eax
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [ebx + 0xc], 0
jne case.0x53932a.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.0053fa08
mov byte [0x651cb0], 0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0x58], 0
jne 0x53b634
mov eax, 0xc8
call fcn.00571734
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53b696
mov eax, dword [0x655200]
cmp dword [eax], 0
je case.0x53932a.0
lea edx, [esp + 8]
mov eax, esi
call fcn.00543128
mov eax, dword [esi + 0x25c]
call fcn.0053458c
add eax, dword [esp + 0xc]
add eax, 4
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
shl eax, 4
pop ecx
sub ecx, eax
mov edx, dword [esp + 8]
mov eax, esi
call fcn.00543234
jmp case.0x53932a.0
lea edx, [esp + 0x84]
mov eax, esi
call fcn.00543128
mov ebx, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.00535fc4
add ebx, eax
lea eax, [esi + 0x98]
xor edx, edx
call fcn.00570ff8
add ebx, eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov edx, dword [esi + 0x278]
call fcn.00534578
add ebx, eax
push ebx
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov edx, dword [esi + 0x278]
call fcn.00534524
mov ebx, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.00543128
add ebx, dword [esp + 0x90]
mov edx, ebx
mov eax, esi
pop ecx
call fcn.00543234
jmp case.0x53932a.0
mov eax, dword [esi + 0x48]
call fcn.004254b4
mov ecx, eax
add ecx, 0x3e8
dec ecx
mov eax, dword [ebx + 4]
mov edx, 0x3e8
call fcn.00570e68
test al, al
je 0x53b782
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.0053fe80
movzx eax, byte [0x53e700]
push eax
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
mov edx, dword [ebx + 4]
sub edx, 0x3e8
mov eax, dword [esi + 0x48]
call fcn.0054b780
mov edx, dword [ebx + 4]
sub edx, 0x3e8
xor ecx, ecx
call fcn.0054b8e4
jmp case.0x53932a.0
mov eax, dword [ebx + 4]
mov ecx, 0x8cf
mov edx, 0x7d0
call fcn.00570e68
test al, al
je 0x53b822
cmp dword [esi + 0xbc], 0
je case.0x53932a.0
mov edx, dword [ebx + 4]
sub edx, 0x7d0
mov eax, dword [esi + 0xbc]
mov eax, dword [eax + 0x38]
call fcn.005310a0
mov edi, eax
cmp byte [edi + 0x30], 2
je 0x53b803
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.0053fe80
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0x58], 0
je 0x53b803
movzx eax, byte [edi + 0x30]
sub al, 2
jae 0x53b803
cmp dword [edi + 0x64], 0
je 0x53b803
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x44]
mov edx, dword [edi + 0x64]
mov cl, 1
call fcn.005136b4
movsx eax, word [ebx + 8]
push eax
movsx eax, word [ebx + 0xa]
push eax
movzx ecx, byte [0x53e700]
xor edx, edx
mov eax, edi
call fcn.00530880
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53b853
push 0
mov ecx, 0xf012
mov edx, 0x112
mov eax, dword [esi + 0x25c]
call fcn.0048f934
jmp case.0x53932a.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.0053fa08
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53b8b6
lea eax, [esp + 0x84]
push eax
movsx ecx, word [ebx + 0xa]
xor edx, edx
mov eax, esi
call fcn.005435b4
mov edi, dword [esp + 0x88]
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov edx, dword [esi + 0x278]
call fcn.00534578
mov ebp, eax
mov dl, 1
mov eax, esi
call fcn.0053617c
add ebp, eax
cmp edi, ebp
jle 0x53ba4b
push 0
lea eax, [esp + 0x15]
push eax
push 0
push 0x26
call fcn.0040a628
cmp byte [esp + 0x11], 0
je 0x53ba38
cmp byte [esi + 0x54], 1
jne 0x53b992
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je 0x53b992
mov eax, dword [ebx + 4]
sub eax, 5
je 0x53b992
mov eax, dword [ebx + 4]
sub eax, 2
je 0x53b907
sub eax, 3
jne 0x53b915
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx + 4]
add eax, 0xfffffff6
sub eax, 8
setb al
xor al, 1
mov byte [0x65b464], al
lea ecx, [esp + 8]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.004095f8
cmp byte [0x65b464], 0
je 0x53b961
push 0
push 0xf010
push 0x112
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp 0x53b97e
push 0
push 0xf000
push 0x112
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, esi
call fcn.00544400
jmp case.0x53932a.0
cmp dword [ebx + 4], 2
jne 0x53ba25
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53ba25
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 6], 0
je 0x53ba25
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
jne 0x53ba25
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x24]
cmp byte [eax + 8], 0xff
je 0x53ba25
cmp byte [esi + 0x94], 0
je 0x53ba25
cmp byte [esi + 0x254], 0
jne 0x53ba08
mov byte [esi + 0x254], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a580
mov eax, esi
call fcn.00533ef0
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x286], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0xd8]
jmp case.0x53932a.0
mov eax, dword [ebx + 4]
sub eax, 3
jne 0x53bb74
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.0053fa08
mov byte [0x651cb0], 0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53baec
mov eax, dword [0x655200]
cmp dword [eax], 0
je case.0x53932a.0
lea edx, [esp + 8]
mov eax, esi
call fcn.00543128
mov dl, 1
mov eax, esi
call fcn.0053617c
mov ecx, eax
add ecx, dword [esp + 0xc]
add ecx, 4
mov edx, dword [esp + 8]
mov eax, esi
call fcn.00543234
jmp case.0x53932a.0
lea edx, [esp + 0x84]
mov eax, esi
call fcn.00543128
mov ebx, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.00535fc4
add ebx, eax
lea eax, [esi + 0x98]
xor edx, edx
call fcn.00570ff8
add ebx, eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov edx, dword [esi + 0x278]
call fcn.00534578
add ebx, eax
push ebx
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov edx, dword [esi + 0x278]
call fcn.00534524
mov ebx, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.00543128
add ebx, dword [esp + 0x90]
mov edx, ebx
mov eax, esi
pop ecx
call fcn.00543234
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
cmp dword [ebx + 4], 0x2f
jne 0x53bbe8
cmp dword [esi + 0x228], 0
je 0x53bbe8
mov eax, dword [esi + 0x228]
mov edx, dword [0x532dc0]
call fcn.00404604
test al, al
je 0x53bbe8
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov edi, dword [esi + 0x228]
mov eax, edi
call fcn.00552198
fild dword [edi + 0x60]
fstp qword [edi + 0x70]
wait
fild dword [edi + 0x64]
fstp qword [edi + 0x78]
wait
fild dword [edi + 0x68]
fstp qword [edi + 0x80]
wait
fild dword [edi + 0x6c]
fstp qword [edi + 0x88]
wait
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x654eb0]
cmp dword [eax], 0
je 0x53bc2e
mov eax, dword [0x654eb0]
mov eax, dword [eax]
test byte [eax + 0x1c], 0x10
jne 0x53bc2e
mov eax, dword [0x654eb0]
mov eax, dword [eax]
xor edx, edx
call fcn.0057fa30
cmp byte [esi + 0x54], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je case.0x53932a.0
lea ecx, [esp + 0x84]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.004095f8
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [esi + 0x25c]
call fcn.0048dff8
mov eax, dword [esp + 8]
mov dword [esp + 4], eax
mov edi, dword [esp + 0xc]
cmp byte [0x65b464], 0
je 0x53bcff
cmp byte [0x651ca0], 0
je 0x53bc9a
mov byte [0x651ca0], 0
cmp byte [0x651c9c], 0
je case.0x53932a.0
mov ecx, dword [0x65b470]
mov edx, dword [0x65b474]
mov eax, esi
call fcn.00544614
mov eax, dword [esp + 4]
sub eax, dword [0x65b480]
add dword [0x65b474], eax
mov eax, edi
sub eax, dword [0x65b484]
add dword [0x65b470], eax
mov dword [0x65b484], edi
mov eax, dword [esp + 4]
mov dword [0x65b480], eax
mov ecx, dword [0x65b470]
mov edx, dword [0x65b474]
mov eax, esi
call fcn.00544614
jmp case.0x53932a.0
cmp byte [0x651ca0], 0
je 0x53bd1e
mov eax, dword [esp + 4]
mov dword [0x65b480], eax
mov dword [0x65b484], edi
mov byte [0x651ca0], 0
cmp byte [0x651c9c], 0
je case.0x53932a.0
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.00544614
mov eax, dword [0x65b488]
add eax, 0xfffffff6
cmp eax, 6
ja case.default.0x53bd47
jmp dword [eax*4 + 0x53bd4e]
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b474], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [0x65b47c]
sub eax, dword [0x65b490]
mov dword [0x65b474], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a832c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b47c], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [0x65b490]
mov dword [0x65b47c], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b478], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add eax, dword [0x65b48c]
mov dword [0x65b478], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b470], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53c0d9
mov eax, dword [0x65b478]
sub eax, dword [0x65b48c]
mov dword [0x65b470], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b478], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53bee9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add eax, dword [0x65b48c]
mov dword [0x65b478], eax
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b474], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [0x65b47c]
sub eax, dword [0x65b490]
mov dword [0x65b474], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b470], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53bf6b
mov eax, dword [0x65b478]
sub eax, dword [0x65b48c]
mov dword [0x65b470], eax
mov eax, dword [esi + 0x25c]
call fcn.004a832c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b47c], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [0x65b490]
mov dword [0x65b47c], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b470], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53bffc
mov eax, dword [0x65b478]
sub eax, dword [0x65b48c]
mov dword [0x65b470], eax
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b474], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [0x65b47c]
sub eax, dword [0x65b490]
mov dword [0x65b474], eax
jmp 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a834c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x4c]
add edi, eax
sub edi, dword [0x65b484]
mov dword [0x65b478], edi
mov eax, dword [0x65b478]
sub eax, dword [0x65b470]
cmp eax, dword [0x65b48c]
jge 0x53c08d
mov eax, dword [esi + 0x25c]
call fcn.004a834c
add eax, dword [0x65b48c]
mov dword [0x65b478], eax
mov eax, dword [esi + 0x25c]
call fcn.004a832c
mov edx, dword [esi + 0x25c]
add eax, dword [edx + 0x48]
add eax, dword [esp + 4]
sub eax, dword [0x65b480]
mov dword [0x65b47c], eax
mov eax, dword [0x65b47c]
sub eax, dword [0x65b474]
cmp eax, dword [0x65b490]
jge 0x53c0d9
mov eax, dword [esi + 0x25c]
call fcn.004a832c
add eax, dword [0x65b490]
mov dword [0x65b47c], eax
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.00544614
jmp case.0x53932a.0
mov eax, dword [ebx + 4]
add eax, 0xfffffffe
sub eax, 2
jb case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, esi
call fcn.00535208
test al, al
je 0x53c178
cmp dword [esi + 0x278], 0
je 0x53c137
cmp dword [ebx + 4], 0xffffffff
jne 0x53c137
mov edx, ebx
mov eax, dword [esi + 0x278]
call fcn.0054e06c
mov dword [ebx + 4], eax
jmp 0x53c143
mov edx, ebx
mov eax, esi
call fcn.00537c04
mov dword [ebx + 4], eax
mov eax, dword [ebx + 4]
add eax, 0xfffffffe
sub eax, 2
jae case.0x53932a.0
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.0053fa08
mov byte [0x651cb0], 0
movsx ecx, word [ebx + 0xa]
movsx edx, word [ebx + 8]
mov eax, esi
call fcn.00543234
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00549c44
jmp case.0x53932a.0
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [esi + 0x234], 0
je 0x53c1c5
lea eax, [esi + 0x234]
call fcn.00415b74
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov edx, 3
pop ecx
call fcn.0052df84
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x374], 1
jne 0x53c24b
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x57], 0
je 0x53c24b
mov eax, esi
call fcn.0053491c
test al, al
jne 0x53c24b
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je 0x53c238
mov dword [esi + 0x260], 0xffffffff
mov byte [esi + 0x242], 1
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
test byte [esi + 0x1c], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x374], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
xor ecx, ecx
mov dl, 1
call fcn.00534864
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53c307
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53c307
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
test eax, eax
je 0x53c307
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53c307
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
cmp eax, dword [esi + 0x25c]
jne case.0x53932a.0
cmp byte [esi + 0xc9], 0
jne 0x53c322
mov eax, esi
call fcn.00543f5c
test al, al
je 0x53c322
mov byte [esi + 0xc9], 1
mov eax, dword [ebx + 8]
and eax, 8
cmp eax, 8
jne 0x53c345
mov eax, dword [ebx + 8]
push eax
mov ecx, dword [ebx + 4]
mov edx, 0x14
mov eax, esi
call fcn.005471f0
jmp case.0x53932a.0
mov ebp, dword [ebx + 4]
mov eax, dword [esi + 0x50]
mov dword [eax + 0x50], ebp
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 0
cmp dword [esi + 0x278], 0
je 0x53c456
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x35], 0
je 0x53c372
mov eax, esi
call fcn.00541298
push 0xcc0020
push 0
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x30]
push eax
push 0
push 0
push ebp
call fcn.00409d2c
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
mov edx, eax
mov eax, ebp
pop ecx
call fcn.0048cafc
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a200
lea eax, [esp + 0x34]
xor edx, edx
call fcn.00570ff8
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.00570fe4
push eax
push 0
push 0
push ebp
call fcn.00409ed4
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
je 0x53c687
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004095f8
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [esi + 0x23c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [esi + 0x25c]
mov eax, ebp
call fcn.0052d800
jmp 0x53c687
cmp byte [esi + 0x78], 0
je 0x53c599
mov eax, esi
call fcn.00535208
test al, al
jne 0x53c590
mov eax, dword [esi + 0x25c]
call fcn.00496f10
call fcn.005351f0
test al, al
je 0x53c590
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x35], 0
je 0x53c497
mov eax, esi
call fcn.00541298
mov eax, dword [esi + 0x25c]
mov edi, dword [eax + 0x1b0]
add edi, 3
push 0xcc0020
push 0
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
push edi
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
push ebp
call fcn.00409d2c
push 0xcc0020
push edi
push 0
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
push edi
push edi
push 0
push ebp
call fcn.00409d2c
push 0xcc0020
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
push edi
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x48]
sub eax, edi
push eax
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x4c]
sub eax, edi
push eax
push edi
push ebp
call fcn.00409d2c
push 0xcc0020
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x30]
sub eax, edi
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x24]
push eax
push edi
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x30]
sub eax, edi
push eax
push ebp
call fcn.00409d2c
jmp 0x53c599
mov edx, ebp
mov eax, esi
call fcn.0053f15c
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
mov edx, eax
mov eax, ebp
pop ecx
call fcn.0048cafc
lea eax, [esp + 0x34]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a200
lea eax, [esp + 0x34]
xor edx, edx
call fcn.00570ff8
push eax
lea eax, [esp + 0x38]
xor edx, edx
call fcn.00570fe4
push eax
push 0
push 0
push ebp
call fcn.00409ed4
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
and ax, 1
cmp ax, 1
je 0x53c608
mov cl, 1
mov edx, ebp
mov eax, esi
call fcn.0053f434
jmp 0x53c687
push ebp
call fcn.00409f4c
mov dword [esp], eax
push 0
push 0
xor ecx, ecx
mov edx, dword [esi + 0x25c]
mov eax, ebp
call fcn.00523304
mov cl, 1
mov edx, ebp
mov eax, esi
call fcn.0053f434
mov eax, dword [esp]
push eax
push ebp
call fcn.00409f3c
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
je 0x53c687
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004095f8
lea eax, [esp + 0x84]
push eax
push 0
mov eax, dword [esi + 0x23c]
and eax, 0x200
cmp eax, 0x200
sete al
xor al, 1
push eax
mov cl, 1
mov edx, dword [esi + 0x25c]
mov eax, ebp
call fcn.0052d800
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53c6b0
push 0
push ebp
push 0x317
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x36c]
push eax
call fcn.0040a538
mov eax, dword [esi + 0x50]
xor edx, edx
mov dword [eax + 0x50], edx
mov eax, dword [esi + 0x25c]
cmp word [eax + 0x30a], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.004a9a4c
mov edx, ebp
call fcn.00439eb8
mov ebx, dword [esi + 0x25c]
mov edx, dword [esi + 0x25c]
mov eax, dword [ebx + 0x30c]
call dword [ebx + 0x308]
mov eax, dword [esi + 0x25c]
call fcn.004a9a4c
xor edx, edx
call fcn.00439eb8
jmp case.0x53932a.0
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
cmp dword [esi + 0x264], 0
jne 0x53c727
mov eax, esi
call fcn.0054504c
cmp byte [esi + 0x78], 0
je 0x53c78e
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je case.0x53932a.0
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
and ax, 0x400
cmp ax, 0x400
je case.0x53932a.0
mov eax, esi
call fcn.005344c8
test al, al
je 0x53c778
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x2a0]
cmp dword [eax + 0x38], 0
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x200
cmp eax, 0x200
je case.0x53932a.0
cmp byte [esi + 0x22c], 0
je 0x53c7a5
mov byte [esi + 0x22c], 0
mov eax, esi
call fcn.00546fd0
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
je 0x53c7cc
mov eax, dword [esi + 0x50]
call fcn.0051b910
mov edx, dword [esi + 0x50]
mov byte [edx + 0x1c], al
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x53932a.0
cmp byte [esi + 0x78], 0
je 0x53c8e2
mov eax, dword [0x6549a8]
cmp byte [eax], 0
je 0x53c7f3
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53c8e2
cmp byte [esi + 0x233], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je case.0x53932a.0
test byte [esi + 0x1c], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x55], 2
jne case.0x53932a.0
cmp dword [esi + 0x264], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53c858
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
jmp 0x53c8a2
lea eax, [esp + 0x24]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a368
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00570fe4
mov edx, dword [esi + 0x25c]
cmp eax, dword [edx + 0x48]
jne case.0x53932a.0
lea eax, [esp + 0x24]
xor edx, edx
call fcn.00570ff8
mov edx, dword [esi + 0x25c]
cmp eax, dword [edx + 0x4c]
jne case.0x53932a.0
cmp dword [esi + 0x238], 0
jne 0x53c8b2
mov eax, esi
call fcn.00545514
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
jne 0x53c8d1
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00580734
mov edx, eax
mov eax, esi
call fcn.00546a80
mov eax, esi
call fcn.00545af4
xor eax, eax
mov dword [ebx + 0xc], eax
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53cc62
cmp byte [esi + 0xa8], 0
je 0x53cc62
mov eax, dword [esi + 0x50]
movzx eax, word [eax + 0x4a]
and ax, 0x800
cmp ax, 0x800
je case.0x53932a.0
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
test byte [eax + 0x54], 0x80
jne 0x53cba9
mov eax, dword [ebx + 4]
cmp eax, dword [ebx + 8]
je 0x53cba9
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x53c99d
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53cad5
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
test eax, eax
je 0x53cad5
mov eax, dword [esi + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53cad5
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53ca99
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je 0x53ca99
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53ca99
lea eax, [esp + 0x34]
push eax
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a200
lea edx, [esp + 0x94]
mov eax, dword [esi + 0x25c]
call fcn.0048de88
lea edx, [esp + 0x94]
lea eax, [esp + 0x34]
call fcn.00409628
test al, al
je 0x53ca99
lea edx, [esp + 0x94]
mov eax, dword [esi + 0x25c]
call fcn.0048de88
lea edx, [esp + 0x9c]
lea eax, [esp + 0x34]
call fcn.00409628
test al, al
je 0x53ca99
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov edx, dword [esi + 0x278]
call fcn.00534578
mov edi, eax
mov dl, 1
mov eax, esi
call fcn.0053617c
add edi, eax
mov eax, esi
call fcn.0054386c
mov ebp, eax
mov eax, esi
call fcn.00543f40
imul ebp, eax
add edi, ebp
inc edi
push edi
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov edx, dword [eax]
call dword [edx + 0x24]
pop edx
call fcn.0040b62c
mov edx, eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov edx, dword [ebx + 4]
mov eax, esi
call fcn.00545898
cmp byte [0x651cb4], 0
je 0x53cc56
mov byte [0x651cb4], 0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53cc56
mov dword [0x651cb8], esi
jmp 0x53cc56
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x1c], 0
jne 0x53cc56
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je 0x53cb99
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x35], 0
jne 0x53cb99
mov eax, dword [esi + 0x25c]
call fcn.0048df28
push eax
lea eax, [esp + 0x98]
push eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
mov ecx, eax
xor edx, edx
xor eax, eax
call fcn.004095c8
lea eax, [esp + 0x94]
push eax
mov eax, dword [ebx + 4]
push eax
push 0
push 0
push 0
mov eax, esi
call fcn.00543778
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.0048df28
add edi, eax
push edi
lea eax, [esp + 0xbc]
push eax
mov eax, esi
call fcn.005436e8
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.0048dee4
add edi, eax
push edi
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
pop edx
pop ecx
call fcn.004095c8
lea ecx, [esp + 0xb8]
mov edx, dword [esi + 0x50]
mov eax, dword [esi + 0x25c]
call fcn.0051d424
mov eax, dword [esi + 0x25c]
call fcn.0052d5ac
jmp 0x53cc56
cmp dword [ebx + 4], 0
je 0x53cc56
mov eax, dword [esi + 0x50]
cmp byte [eax + 0x35], 0
jne 0x53cc56
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x53cc15
push 0xcc0020
mov eax, esi
call fcn.00543778
push eax
mov eax, esi
call fcn.005436e8
push eax
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
call fcn.0043efec
call fcn.00439e30
push eax
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x4c]
push eax
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x48]
push eax
push 0
push 0
mov eax, dword [ebx + 4]
push eax
call fcn.00409d2c
jmp 0x53cc56
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x50]
call fcn.0051a4c0
push eax
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x4c]
push eax
lea eax, [esp + 0x9c]
push eax
mov eax, dword [esi + 0x25c]
mov ecx, dword [eax + 0x48]
xor edx, edx
xor eax, eax
call fcn.004095c8
lea edx, [esp + 0x98]
mov eax, dword [ebx + 4]
pop ecx
call fcn.00523068
mov dword [ebx + 0xc], 1
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp byte [esi + 0xa8], 0
je 0x53ce43
mov eax, dword [esi + 0x25c]
test byte [eax + 0x54], 0x80
jne case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53ccd9
mov eax, esi
call fcn.0053491c
test al, al
jne 0x53ccd9
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53ccca
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a410
test eax, eax
jne 0x53ccd9
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054edc0
mov eax, dword [esi + 0x50]
call fcn.00519adc
test al, al
je 0x53cd9c
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53cd8c
mov edx, ebx
mov eax, esi
call fcn.00546264
cmp byte [0x651cb4], 0
je 0x53cd15
mov byte [0x651cb4], 0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53cd85
cmp dword [ebx + 4], 0
jne 0x53cd3f
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a220
mov ebp, eax
jmp 0x53cd42
mov ebp, dword [ebx + 4]
lea ecx, [esp + 0x84]
xor edx, edx
xor eax, eax
call fcn.004095f8
lea eax, [esp + 0x84]
push eax
push 0
push 1
mov cl, 1
mov edx, dword [esi + 0x25c]
mov eax, ebp
call fcn.0052d800
cmp dword [ebx + 4], 0
jne 0x53cd85
push ebp
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a508
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x53ce07
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp 0x53ce07
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x1e2], 0
je 0x53cdf9
test byte [esi + 0x1c], 8
jne 0x53cdc6
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a004
lea eax, [esp + 0x44]
push eax
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a190
xor eax, eax
mov dword [ebx + 0xc], eax
jmp 0x53ce07
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp byte [esi + 0x78], 0
jne case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x2a0], 0
je case.0x53932a.0
push 0
push 0
push 0x85
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x6550f8]
cmp dword [eax], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.004972bc
test al, al
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
call fcn.0053627c
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00548e1c
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.00549524
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x655008]
cmp dword [eax], 0
je 0x53cee7
mov eax, dword [0x655008]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x53cee7
mov eax, dword [0x655008]
mov eax, dword [eax]
call fcn.004ad078
cmp dword [ebx + 4], 1
jne case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x100
cmp eax, 0x100
je case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53cf3c
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne case.0x53932a.0
cmp dword [ebx + 4], 1
jne case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp byte [eax + 0x283], 1
jne case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
jne case.0x53932a.0
cmp dword [esi + 0x228], 0
je 0x53cfac
mov eax, dword [esi + 0x228]
cmp byte [eax + 0xec], 0
jne case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
xor edx, edx
call fcn.004aa158
push 0xffffffffffffffff
push 0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
call fcn.00496f10
push eax
call fcn.0040a3c0
push 0x585
push 0
push 0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
call fcn.00496f10
push eax
call fcn.0040a4e0
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53d0d5
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53d0d5
mov eax, dword [0x655200]
mov eax, dword [eax]
test byte [eax + 0x1c], 8
jne 0x53d0d5
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
je 0x53d09f
mov byte [esi + 0xc9], 0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov byte [eax + 0x242], 1
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x655200]
mov eax, dword [eax]
mov dword [eax + 0x260], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp 0x53d0d5
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
push 0
push 0
push 0x85
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
mov al, 1
call fcn.0053841c
mov dword [0x651cb8], esi
jmp case.0x53932a.0
cmp byte [esi + 0x22c], 0
je 0x53d113
cmp dword [ebx + 4], 1
jne 0x53d113
mov byte [esi + 0x22c], 0
mov eax, esi
call fcn.00546fd0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00580734
mov edx, eax
mov eax, esi
call fcn.00546a80
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [ebx + 4], 0
jne 0x53d168
cmp dword [esi + 0x50], 0
je 0x53d15c
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je 0x53d15c
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne 0x53d15c
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov eax, dword [esi + 0x50]
mov eax, dword [eax + 0x40]
xor edx, edx
mov ecx, dword [eax]
call dword [ecx + 0x38]
mov eax, esi
call fcn.00546ca4
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.0052d5ac
jmp case.0x53932a.0
cmp byte [esi + 0x54], 1
jne 0x53d1dc
cmp byte [0x651c9c], 0
je 0x53d1dc
lea ecx, [esp + 0x84]
movsx edx, word [ebx + 0xa]
movsx eax, word [ebx + 8]
call fcn.004095f8
lea edx, [esp + 0x84]
lea ecx, [esp + 8]
mov eax, dword [esi + 0x25c]
call fcn.0048dff8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov eax, esi
call fcn.00544514
call fcn.0040a500
mov byte [0x651c9c], 0
mov eax, dword [ebx + 4]
sub eax, 2
je 0x53d210
dec eax
jne 0x53d315
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0x58], 0
jne 0x53d200
mov eax, dword [esi + 0x50]
mov byte [eax + 0x1c], 1
mov eax, dword [esi + 0x25c]
call fcn.004ad078
jmp case.0x53932a.0
mov eax, esi
call fcn.00543d68
test al, al
je 0x53d239
mov eax, dword [esi + 0x264]
mov edx, dword [eax]
call dword [edx + 0x50]
test al, al
jne 0x53d25d
mov eax, dword [esi + 0x264]
mov edx, dword [eax]
call dword [edx + 0x58]
test al, al
jne 0x53d25d
mov eax, esi
call fcn.00535208
test al, al
jne 0x53d2cc
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53d2cc
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
je 0x53d281
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53d2a0
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
jmp 0x53d2bd
push 0
push 0xf030
push 0x112
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
xor edx, edx
mov eax, dword [esi + 0x264]
call fcn.0054b284
jmp 0x53d30b
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53d30b
push 0
push 0xf120
push 0x112
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
xor edx, edx
mov eax, dword [esi + 0x264]
call fcn.0054b284
xor eax, eax
mov dword [ebx + 4], eax
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 2
jne 0x53d347
mov eax, dword [0x655200]
cmp esi, dword [eax]
jne 0x53d347
mov eax, dword [0x655200]
mov dword [eax], esi
mov eax, esi
call fcn.005344c8
test al, al
je 0x53d399
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x53d399
mov eax, dword [ebx + 8]
cmp dword [eax], 1
jne 0x53d399
mov eax, dword [ebx + 8]
mov edx, dword [eax + 8]
mov eax, dword [esi + 0x25c]
mov eax, dword [eax + 0x2a0]
xor ecx, ecx
call fcn.00485904
mov edi, eax
test edi, edi
je 0x53d399
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x44]
mov cl, 1
mov edx, edi
call fcn.005133ec
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53d6e6
movzx eax, word [ebx + 4]
sub ax, 0xf012
je 0x53d3e8
sub ax, 0xe
je 0x53d45f
sub ax, 0x10
je 0x53d3fb
sub ax, 0xf0
je 0x53d4c1
jmp 0x53d6e6
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x84]
jmp 0x53d6e6
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53d6e6
cmp dword [esi + 0x228], 0
je 0x53d6e6
mov eax, dword [esi + 0x228]
cmp byte [eax + 0xec], 0
je 0x53d6e6
call fcn.00570eb8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00570ee8
mov eax, esi
call fcn.00533988
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
movzx eax, byte [esp + 0x12]
call fcn.00570ee8
jmp case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
je 0x53d6e6
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x53d6e6
call fcn.00570eb8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00570ee8
mov eax, esi
call fcn.00533734
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
movzx eax, byte [esp + 0x12]
call fcn.00570ee8
jmp case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x200
cmp eax, 0x200
jne 0x53d51d
and dword [esi + 0x23c], 0xfffffdff
cmp dword [esi + 0x278], 0
je 0x53d4f0
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
call fcn.00570eb8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00570ee8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
movzx eax, byte [esp + 0x12]
call fcn.00570ee8
jmp case.0x53932a.0
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
je 0x53d613
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53d5b7
call fcn.00570eb8
mov byte [esp + 0x12], al
xor eax, eax
call fcn.00570ee8
mov eax, esi
call fcn.00533988
cmp dword [esi + 0x278], 0
je 0x53d59a
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
jne 0x53d59a
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov byte [esi + 0x230], 0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp 0x53d5a8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
movzx eax, byte [esp + 0x12]
call fcn.00570ee8
jmp case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53d5cc
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53d5e8
cmp dword [esi + 0x278], 0
jne 0x53d6e6
mov eax, esi
call fcn.0053869c
test al, al
je 0x53d6e6
cmp dword [esi + 0x278], 0
je 0x53d5fc
lea eax, [esi + 0x278]
call fcn.00415b74
mov dl, 1
mov eax, esi
call fcn.00546a80
xor edx, edx
mov eax, esi
call fcn.00535250
jmp 0x53d6e6
mov eax, dword [0x655070]
mov eax, dword [eax]
cmp byte [eax + 0xcf], 0
je 0x53d6e6
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne 0x53d6e6
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53d6e6
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53d6e6
cmp dword [esi + 0x228], 0
je 0x53d692
mov eax, dword [ebx + 8]
push eax
mov eax, dword [ebx + 4]
push eax
mov eax, dword [ebx]
push eax
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x170]
push eax
call fcn.0040a538
jmp case.0x53932a.0
cmp dword [esi + 0x278], 0
jne 0x53d6e6
call fcn.005347b8
test al, al
je 0x53d6e6
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
push 0x481
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3c0
jmp case.0x53932a.0
cmp byte [esi + 0x54], 1
jne 0x53d769
mov eax, dword [esi + 0x25c]
mov edx, dword [eax]
call dword [edx + 0x4c]
test al, al
je 0x53d769
cmp byte [0x651c9c], 0
jne 0x53d769
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf010
jne 0x53d734
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a558
mov byte [0x651ca0], 1
mov byte [0x65b464], 1
jmp 0x53d769
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf000
jne 0x53d769
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a558
xor eax, eax
mov dword [0x65b488], eax
mov byte [0x651ca0], 1
mov byte [0x65b464], 0
mov eax, dword [esi + 0x25c]
movzx eax, byte [eax + 0x287]
dec al
je 0x53d787
dec al
je 0x53db48
jmp 0x53dbd7
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 2
jne 0x53d7ae
cmp dword [ebx + 4], 0xf030
je 0x53d7ae
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 0
jne 0x53d7b2
xor eax, eax
jmp 0x53d7b4
mov al, 1
mov byte [esp + 0x10], al
cmp byte [esp + 0x10], 0
je 0x53d7d8
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53d7d8
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
call fcn.0051b6a0
mov eax, dword [ebx + 4]
and eax, 0xfff0
cmp eax, 0xf060
jg 0x53d802
je 0x53d81b
sub eax, 0xf020
je 0x53da21
sub eax, 0x10
je 0x53da5d
jmp 0x53db16
sub eax, 0xf100
je 0x53db24
sub eax, 0x20
je 0x53d8d1
jmp 0x53db16
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53db24
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53d851
mov eax, dword [0x655200]
mov eax, dword [eax]
cmp dword [eax + 0x250], 0
je 0x53d851
cmp byte [esp + 0x10], 0
je 0x53d851
mov al, 1
call fcn.0053841c
mov eax, dword [0x655200]
mov eax, dword [eax]
mov byte [eax + 0x22f], 1
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne 0x53d88a
test byte [esi + 0x1c], 8
jne 0x53d88a
xor ecx, ecx
xor edx, edx
mov eax, esi
call fcn.0053fa08
mov eax, dword [0x655200]
mov eax, dword [eax]
mov byte [eax + 0x22f], 0
mov eax, dword [0x655200]
cmp dword [eax], 0
je case.0x53932a.0
mov eax, dword [0x655200]
mov eax, dword [eax]
cmp dword [eax + 0x250], 0
je case.0x53932a.0
cmp byte [esp + 0x10], 0
je case.0x53932a.0
mov al, 1
call fcn.0053841c
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x283], 1
jne 0x53d8e5
mov byte [esp + 0x10], 1
cmp byte [0x651cb4], 0
jne case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
cmp byte [esi + 0x78], 0
je 0x53d939
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a348
and eax, 0xfff7ffff
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a5d8
push 0x505
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53da01
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98e0
mov ebp, eax
dec ebp
test ebp, ebp
jl 0x53da01
inc ebp
xor edi, edi
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
mov edx, edi
call fcn.004a992c
cmp eax, dword [esi + 0x25c]
je 0x53d9fd
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
mov edx, edi
call fcn.004a992c
cmp byte [eax + 0x283], 2
jne 0x53d9d5
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
mov edx, edi
call fcn.004a992c
xor edx, edx
call fcn.004aa158
push 0x506
push 0
push 0
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
mov edx, edi
call fcn.004a992c
call fcn.00496f10
push eax
call fcn.0040a4e0
inc edi
dec ebp
jne 0x53d981
cmp byte [esp + 0x10], 0
je 0x53da0f
mov al, 1
call fcn.0053841c
mov dl, 1
mov eax, dword [esi + 0x264]
call fcn.0054b284
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp byte [esp + 0x10], 0
je 0x53da3d
mov al, 1
call fcn.0053841c
mov dl, 1
mov eax, dword [esi + 0x264]
call fcn.0054b284
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov al, 1
call fcn.0053841c
jmp case.0x53932a.0
mov dword [0x651cb8], esi
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a348
and eax, 0xefffffff
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a5d8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a348
or eax, 0x10000000
push eax
push 0xfffffffffffffff0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a5d8
push 0x506
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53db04
mov eax, dword [0x655200]
mov eax, dword [eax]
cmp dword [eax + 0x250], 0
je 0x53db04
mov al, 1
call fcn.0053841c
mov dl, 1
mov eax, dword [esi + 0x264]
call fcn.0054b284
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53de36
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
xor edx, edx
call fcn.0051b870
jmp 0x53de36
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx + 4]
sub eax, 0xf020
je 0x53db70
sub eax, 0x10
je 0x53db70
sub eax, 0xf0
jne 0x53de36
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x50]
mov byte [eax + 0x35], 1
mov eax, dword [0x655200]
mov eax, dword [eax]
mov dword [eax + 0x260], 0xffffffff
push 0
push 0
push 0x85
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a538
cmp dword [ebx + 4], 0xf030
jne 0x53de36
cmp dword [esi + 0x278], 0
je 0x53de36
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp 0x53de36
mov eax, dword [ebx + 4]
sub eax, 0xf030
jne 0x53dc08
cmp dword [esi + 0x278], 0
je 0x53dc08
mov eax, dword [0x654d80]
cmp byte [eax], 0
jne 0x53dbfd
cmp dword [ebx + 4], 0xf120
jne 0x53dc08
lea eax, [esi + 0x278]
call fcn.00415b74
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx + 4]
sub eax, 0xf030
je 0x53dd56
sub eax, 0xd0
je 0x53dc39
sub eax, 0x20
je 0x53dd56
jmp 0x53de36
cmp word [ebx + 8], 0x20
jne 0x53de36
mov eax, esi
call fcn.00543d68
test al, al
je 0x53de36
mov eax, esi
call fcn.00535208
test al, al
je 0x53de36
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
je 0x53dce8
lea edx, [esp + 0x84]
mov eax, esi
call fcn.00543128
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.00535fc4
add edi, eax
lea eax, [esi + 0x98]
xor edx, edx
call fcn.00570ff8
add edi, eax
sub edi, 0x10
push edi
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov edx, dword [esi + 0x278]
call fcn.00534524
mov edi, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.00543128
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, esi
pop ecx
call fcn.00543234
jmp 0x53de36
lea edx, [esp + 0x84]
mov eax, esi
call fcn.00543128
mov edi, dword [esp + 0x88]
mov dl, 1
mov eax, esi
call fcn.00535fc4
add edi, eax
lea eax, [esi + 0x98]
xor edx, edx
call fcn.00570ff8
add edi, eax
push edi
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov edx, dword [esi + 0x278]
call fcn.00534524
mov edi, eax
lea edx, [esp + 0x90]
mov eax, esi
call fcn.00543128
add edi, dword [esp + 0x90]
mov edx, edi
mov eax, esi
pop ecx
call fcn.00543234
jmp 0x53de36
mov eax, dword [esi + 0x264]
mov edx, dword [eax]
call dword [edx + 0x48]
test al, al
je 0x53dd6c
mov dword [esi + 0x38], 9
mov cl, 1
xor edx, edx
mov eax, esi
call fcn.0053fa08
cmp dword [ebx + 4], 0xf120
jne 0x53de36
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 1
mov eax, esi
call fcn.00535208
test al, al
jne 0x53ddb0
push 0xffffffffffffffff
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a608
jmp 0x53de36
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x53de1c
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
call fcn.00580734
test al, al
je 0x53de1c
cmp byte [esi + 0x79], 0
je 0x53de1c
cmp byte [esi + 0x78], 0
je 0x53de1c
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53de1c
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53de1c
mov dl, 1
mov eax, esi
call fcn.00546a80
cmp dword [esi + 0x278], 0
je 0x53de1c
mov byte [esi + 0x230], 0
mov cl, 0xff
mov dl, 1
mov eax, dword [esi + 0x278]
call fcn.0054edc0
push 0x481
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a4e0
movzx eax, word [ebx + 4]
sub ax, 0xf020
jne case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x53de5f
mov byte [esi + 0x233], 0
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x100
cmp eax, 0x100
je case.0x53932a.0
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 1
mov eax, dword [esi + 0x278]
add eax, 0x18
call fcn.00415b74
mov eax, dword [esi + 0x278]
mov byte [eax + 0x28], 0
jmp case.0x53932a.0
mov edx, ebx
mov eax, esi
call fcn.005495dc
jmp case.0x53932a.0
mov eax, dword [0x6554a4]
mov byte [eax], 1
mov eax, dword [0x655070]
mov eax, dword [eax]
cmp byte [eax + 0xa0], 0
jne 0x53def7
jmp 0x53deed
mov eax, dword [0x655070]
mov eax, dword [eax]
call fcn.004b1590
mov eax, dword [0x654f44]
cmp dword [eax], 0
jg 0x53dee1
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
test eax, eax
je 0x53e27b
call fcn.0051e964
test al, al
je 0x53e27b
cmp byte [esi + 0x78], 0
je 0x53e27b
cmp dword [esi + 0x278], 0
je 0x53df73
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a418
test eax, eax
je 0x53df73
mov eax, esi
call fcn.00548bf8
mov edi, eax
mov eax, dword [esi + 0x25c]
call fcn.0053458c
add eax, 4
cmp edi, eax
setg al
mov byte [esi + 0x218], al
jmp 0x53df7a
mov byte [esi + 0x218], 0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x80
cmp eax, 0x80
jne 0x53e12f
cmp byte [esi + 0x232], 0
jne 0x53e12f
mov eax, dword [esi + 0x50]
cmp dword [eax + 0x40], 0
je 0x53e12f
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
jne 0x53e12f
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0xcc], 2
jne 0x53e018
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne 0x53e018
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x20]
cmp byte [eax + 6], 0
je 0x53e12f
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov byte [esi + 0x233], 0
jmp case.0x53932a.0
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
cmp byte [eax + 0xcc], 2
je 0x53e10c
cmp byte [esi + 0x95], 0
je 0x53e0e7
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x53e0e7
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53e0e7
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je 0x53e0e7
call fcn.005347b8
test al, al
je 0x53e08e
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
mov dl, 1
call fcn.005385a8
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov byte [esi + 0x232], 1
mov eax, esi
call fcn.0052b44c
mov eax, dword [0x655070]
mov eax, dword [eax]
cmp byte [eax + 0xa0], 0
jne case.0x53932a.0
call fcn.005347b8
test al, al
je 0x53e0db
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov cl, 1
xor edx, edx
call fcn.005385a8
mov byte [esi + 0x232], 0
jmp case.0x53932a.0
cmp dword [esi + 0x278], 0
je 0x53e12f
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53e12f
mov eax, dword [esi + 0x278]
add eax, 0x18
call fcn.00415b74
jmp 0x53e12f
cmp dword [esi + 0x278], 0
je 0x53e12f
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53e12f
mov eax, dword [esi + 0x278]
add eax, 0x18
call fcn.00415b74
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp byte [esi + 0x230], 0
jne case.0x53932a.0
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x57], 0
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
call fcn.0040a3e8
test eax, eax
jne case.0x53932a.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 8
cmp eax, 8
je case.0x53932a.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 0x20
cmp eax, 0x20
je case.0x53932a.0
mov eax, dword [esi + 0x23c]
and eax, 0x80
cmp eax, 0x80
je case.0x53932a.0
mov eax, dword [ebx + 8]
mov eax, dword [eax + 0x18]
and eax, 3
cmp eax, 3
jne 0x53e267
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je 0x53e267
call fcn.005347b8
test al, al
je 0x53e235
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
cmp eax, dword [esi + 0x25c]
jne 0x53e235
mov eax, dword [esi + 0x25c]
call fcn.00496f10
mov ebx, eax
call fcn.0040a1d0
cmp ebx, eax
jne 0x53e235
push 0x65b
push 0
push 0
push 0
push 0
push 0xffffffffffffffff
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a5f0
jmp case.0x53932a.0
push 0x65b
push 0
push 0
push 0
push 0
mov eax, dword [esi + 0x25c]
call fcn.00496f10
push eax
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a5f0
jmp case.0x53932a.0
mov cl, 0xff
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054edc0
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
cmp byte [esi + 0x95], 0
je 0x53e406
mov eax, dword [esi + 0x50]
call fcn.0051b8fc
mov eax, dword [eax + 0x6c]
mov eax, dword [eax + 0x10]
cmp byte [eax + 6], 0
je 0x53e406
cmp byte [esi + 0x78], 0
je 0x53e406
mov eax, dword [esi + 0x23c]
and eax, 0x200
cmp eax, 0x200
je 0x53e406
mov eax, dword [esi + 0x25c]
cmp dword [eax + 0x30], 0
jne 0x53e406
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 8
jne case.0x53932a.0
or dword [esi + 0x23c], 0x200
mov dl, 1
mov eax, esi
call fcn.005342b0
mov edx, dword [esi + 0x50]
mov dword [edx + 0x40], eax
and dword [esi + 0x23c], 0xfffffdff
mov eax, dword [esi + 0x50]
mov byte [eax + 0x35], 0
cmp dword [esi + 0x278], 0
je case.0x53932a.0
mov eax, dword [esi + 0x278]
cmp dword [eax + 0x18], 0
je case.0x53932a.0
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.004972bc
test al, al
je case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x330], 0
je 0x53e37c
mov eax, dword [esi + 0x25c]
movzx edi, byte [eax + 0x331]
jmp 0x53e381
mov edi, 0xff
push 0
xor ecx, ecx
xor edx, edx
mov eax, dword [esi + 0x278]
call fcn.0054fe58
push eax
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a608
push 0
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
mov edx, dword [esi + 0x50]
mov edx, dword [edx + 0x40]
mov ecx, edi
call fcn.00533404
push 0x65b
push 0
push 0
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.004a834c
push eax
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.004a832c
push eax
push 0
mov eax, dword [esi + 0x278]
mov eax, dword [eax + 0x18]
call fcn.00496f10
push eax
call fcn.0040a5f0
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
jne 0x53e493
mov eax, dword [0x655200]
cmp dword [eax], 0
jne 0x53e448
mov eax, dword [0x655070]
mov eax, dword [eax]
mov eax, dword [eax + 0x40]
call fcn.00496f10
xor edx, edx
call fcn.004f8ed4
mov eax, dword [0x655200]
cmp dword [eax], 0
je 0x53e48c
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
test eax, eax
je 0x53e48c
mov eax, dword [0x655200]
mov eax, dword [eax]
mov eax, dword [eax + 0x25c]
call fcn.004a98ac
cmp byte [eax + 0x283], 2
jne 0x53e48c
mov byte [0x651cb4], 1
jmp 0x53e493
mov byte [0x651cb4], 0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [esi + 0x25c]
cmp byte [eax + 0x287], 1
je case.0x53932a.0
mov eax, esi
call fcn.0054504c
jmp case.0x53932a.0
cmp dword [esi + 0x25c], 0
je 0x53e56e
test byte [esi + 0x1c], 1
jne 0x53e56e
mov eax, dword [esi + 0x25c]
test byte [eax + 0x1c], 1
jne 0x53e56e
cmp word [ebx + 4], 1
je 0x53e4f5
cmp word [ebx + 4], 2
jne 0x53e56e
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
cmp dword [esi + 0x238], 0
je 0x53e520
cmp word [ebx + 4], 1
jne 0x53e520
xor edx, edx
mov eax, dword [esi + 0x238]
call fcn.0054bf18
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.0040a6e8
mov edx, eax
mov ecx, 1
mov eax, 0xa100
call fcn.00570e14
lea edx, [esp + 0x14]
mov eax, dword [esi + 0x25c]
call fcn.0052e130
cmp byte [esi + 0x78], 0
je case.0x53932a.0
mov dl, 1
mov eax, dword [esi + 0x234]
call fcn.004d6800
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx + 8]
mov eax, dword [eax + 8]
sub eax, 0xfffffdd9
jne case.0x53932a.0
cmp dword [esi + 0x238], 0
je case.0x53932a.0
xor edx, edx
mov eax, dword [esi + 0x238]
call fcn.0054bf18
jmp case.0x53932a.0
cmp dword [ebx + 4], 0
je 0x53e64d
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
mov eax, dword [ebx + 4]
mov edx, dword [0x4896e4]
call fcn.00404604
test al, al
je 0x53e62f
cmp dword [esi + 0x238], 0
je 0x53e600
mov edx, dword [ebx + 4]
mov eax, dword [esi + 0x238]
call fcn.0054b988
push 0
lea eax, [esp + 0x18]
push eax
mov dx, 0x24
xor eax, eax
call fcn.0040a6e8
mov edx, eax
mov ecx, 1
mov eax, 0xa100
call fcn.00570e14
lea edx, [esp + 0x14]
mov eax, dword [ebx + 4]
call fcn.0052e130
push 1
mov dx, 0x24
xor eax, eax
call fcn.0040a6e8
mov ecx, eax
mov eax, dword [ebx + 4]
mov edx, 0xa100
call fcn.0048f934
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
jmp case.0x53932a.0
mov edx, ebx
mov eax, dword [esi + 0x24c]
call dword [esi + 0x248]
add esp, 0xb4
pop ebp
pop edi
pop esi
pop ebx
ret