Function at 0x4f6980
Capabilities:
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xec
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0x104]
mov dword [esp + 0x68], 0
mov dword [0x7e42ec], 0x30207f
mov dword [0x7e42ec], 0x302080
test esi, esi
sete dl
test edi, edi
sete al
or dl, al
mov byte [esp + 0x20], dl
jne 0x4f69db
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.005593bf
sub esp, 4
test eax, eax
jne 0x4f69f8
mov dword [0x7e42ec], 0x302080
xor eax, eax
add esp, 0xec
pop ebx
pop esi
pop edi
pop ebp
ret 0xc
mov dword [0x7e42ec], 0x302080
mov dword [0x7e42ec], 0x302085
mov dword [0x7e42ec], 0x302086
mov dword [0x7e42ec], 0x302087
mov dword [0x7e42ec], 0x302088
mov dword [0x7e42ec], 0x302089
mov dword [0x7e42ec], 0x30208a
mov dword [0x7e42ec], 0x30208c
mov dword [0x7e42ec], 0x30208d
mov eax, dword [esi + 0x22a]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
mov ebp, eax
mov dword [0x7e42ec], 0x30208e
mov eax, dword [edi + 0x30]
mov dword [esp + 0x28], eax
mov dword [0x7e42ec], 0x302090
mov eax, dword [esi + 0x1ce]
test eax, eax
jg 0x4f6b30
mov dword [0x7e42ec], 0x3020a7
mov dword [0x7e42ec], 0x3020a9
cmp dword [esp + 0x108], 0x1000c
je 0x4f6cb0
mov dword [0x7e42ec], 0x3020b3
mov dword [0x7e42ec], 0x3020b5
lea eax, [esi + 0x22a]
mov dword [esp + 0x2c], eax
mov dword [esp], eax
call fcn.00449370
sub esp, 4
mov dword [esi + 0x236], eax
mov dword [0x7e42ec], 0x3020b6
mov dword [esi + 0x232], 1
mov dword [0x7e42ec], 0x3020b7
mov dword [esi + 0x2e6], 1
mov dword [0x7e42ec], 0x3020b9
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
sub esp, 4
jmp 0x4f6e0e
mov dword [0x7e42ec], 0x302095
mov dword [esp + 4], 5
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov ebx, eax
mov dword [0x7e42ec], 0x302096
mov dword [esp + 4], 6
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov dword [0x7e42ec], 0x302097
cmp ebx, 0x1b
je 0x4f6bc0
mov dword [0x7e42ec], 0x30209a
mov dword [0x7e42ec], 0x30209b
test al, 4
je 0x4f6c10
mov dword [0x7e42ec], 0x30209c
mov dword [esi + 0x1ce], 2
mov dword [0x7e42ec], 0x30209d
jmp 0x4f6c2e
mov dword [0x7e42ec], 0x302098
mov dword [esp], esi
call fcn.004823f0
sub esp, 4
mov dword [0x7e42ec], 0x302099
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004abca0
sub esp, 0x10
mov dword [0x7e42ec], 0x30209a
jmp 0x4f6c5d
mov dword [0x7e42ec], 0x30209d
mov dword [0x7e42ec], 0x30209e
mov dword [esi + 0x1ce], 1
mov dword [0x7e42ec], 0x30209f
mov dword [0x7e42ec], 0x3020a1
mov eax, dword [esp + 0x108]
sub eax, 0x1000b
cmp eax, 1
jbe 0x4f6c80
mov dword [0x7e42ec], 0x3020a3
mov dword [0x7e42ec], 0x3020a4
mov dword [0x7e42ec], 0x3020a6
jmp 0x4f69e5
mov dword [0x7e42ec], 0x3020a2
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004abca0
sub esp, 0x10
jmp 0x4f6c53
mov dword [0x7e42ec], 0x3020aa
mov dword [esp], esi
call fcn.00449820
sub esp, 4
mov dword [0x7e42ec], 0x3020ab
mov eax, dword [esi + 0x23a]
test eax, eax
jne 0x4f6d20
mov dword [0x7e42ec], 0x3020ad
mov dword [0x7e42ec], 0x3020af
mov dword [esi + 0x232], 0
mov dword [0x7e42ec], 0x3020b0
mov dword [esi + 0x23a], 1
mov dword [0x7e42ec], 0x3020b2
mov eax, 1
jmp 0x4f69e7
mov eax, dword [esi + 0x22a]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
cmp dword [esi + 0x236], eax
jge 0x4f6cd9
mov dword [0x7e42ec], 0x3020ac
mov dword [0x7e42ec], 0x300858
mov dword [0x7e42ec], 0x300859
mov dword [0x7e42ec], 0x30085a
mov eax, dword [esi + 0x23e]
mov dword [esp], eax
call fcn.0058244e
sub esp, 4
mov dword [0x7e42ec], 0x30085b
mov dword [0x7e42ec], 0x30085c
jmp 0x4f6cd9
mov dword [0x7e42ec], 0x3020b9
mov dword [0x7e42ec], 0x3020bb
mov eax, dword [esi + 0x21e]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1c
lea edx, [eax + 0x24]
mov dword [esp + 4], edx
add eax, 0x40
mov dword [esp], eax
call fcn.0058c3a0
sub esp, 0x10
mov dword [0x7e42ec], 0x3020bc
mov eax, dword [esi + 0x21e]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x1c
lea edx, [eax + 0x5c]
mov dword [esp + 4], edx
add eax, 0x78
mov dword [esp], eax
call fcn.0058c3a0
sub esp, 0x10
mov dword [0x7e42ec], 0x3020bd
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
jne 0x4f6d90
mov ebx, eax
mov dword [0x7e42ec], 0x3020bf
cmp dword [esp + 0x108], 0x1000d
je 0x4f6ed8
cmp dword [esp + 0x108], 0x1000b
je 0x4f7550
mov dword [0x7e42ec], 0x30234a
mov dword [0x7e42ec], 0x30234c
mov dword [esp + 0x30], 0
mov dword [0x7e42ec], 0x30239a
mov dword [0x7e42ec], 0x30239c
mov dword [0x7e42ec], 0x30239e
mov dword [0x7e42ec], 0x3023a0
mov eax, dword [esp + 0x28]
cmp dword [edi + 0x30], eax
je 0x4fcf18
mov dword [0x7e42ec], 0x3023a1
mov dword [0x7e42ec], 0x3023a2
mov dword [0x7e42ec], 0x3023ac
mov dword [0x7e42ec], 0x3023ae
jmp 0x4fd099
mov dword [0x7e42ec], 0x3020c1
mov dword [esp + 4], 9
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov ebp, eax
mov dword [esp + 0x24], eax
mov dword [0x7e42ec], 0x3020c2
mov dword [0x7e42ec], 0x3020c4
mov dword [0x7e42ec], 0x3020c6
mov dword [0x7e42ec], 0x3020c6
cmp eax, 0x7f
je 0x4f6ffa
mov dword [0x7e42ec], 0x3020ca
mov dword [0x7e42ec], 0x3020ca
lea eax, [eax - 0x20]
cmp eax, 0xe0
jbe 0x4f7009
mov dword [0x7e42ec], 0x302102
mov dword [0x7e42ec], 0x302104
mov dword [esp + 0x24], 0
mov dword [0x7e42ec], 0x302108
mov eax, dword [esi + 0x222]
test eax, eax
je 0x4f7452
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov ecx, dword [eax + 0x44]
lea edx, [ecx - 1]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x38]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0046ef70
sub esp, 0x14
test eax, eax
je 0x4f7452
mov dword [0x7e42ec], 0x302109
mov eax, dword [esi + 0xde]
test byte [eax], 0xfd
jne 0x4f7507
mov dword [0x7e42ec], 0x30210a
mov dword [0x7e42ec], 0x30210b
mov ebx, 1
mov dword [0x7e42ec], 0x30210e
jmp 0x4f7457
mov dword [0x7e42ec], 0x3020c8
jmp 0x4f6f65
mov dword [0x7e42ec], 0x3020cc
mov dword [0x7e42ec], 0x3020cd
mov dword [0x7e42ec], 0x3020cd
mov eax, ebp
and eax, 0xffffffdf
sub eax, 0x41
cmp eax, 0x19
jbe 0x4f70ab
cmp ebp, 0x5f
je 0x4f70ab
lea eax, [ebp - 0x30]
cmp eax, 9
jbe 0x4f70ab
lea eax, [ebp - 0x80]
cmp eax, 0x80
jbe 0x4f70ab
mov dword [0x7e42ec], 0x3020d3
mov dword [0x7e42ec], 0x3020d4
mov eax, dword [esi + 0x222]
test eax, eax
je 0x4f70ff
mov ebx, dword [eax + 0x44]
lea edx, [ebx - 1]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x38]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0046f220
sub esp, 0xc
test eax, eax
je 0x4f70ff
mov dword [0x7e42ec], 0x3020d5
mov dword [0x7e42ec], 0x3020d6
mov dword [esp + 0x34], 1
jmp 0x4f711b
mov dword [0x7e42ec], 0x3020ce
mov dword [0x7e42ec], 0x3020d3
mov dword [esp + 0x34], 4
mov dword [0x7e42ec], 0x3020dc
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
sub esp, 4
test eax, eax
jne 0x4f7127
mov dword [0x7e42ec], 0x3020ff
mov dword [0x7e42ec], 0x302102
jmp 0x4f6f6d
mov dword [0x7e42ec], 0x3020d6
mov dword [0x7e42ec], 0x3020d7
mov dword [esp + 0x34], 9
mov dword [0x7e42ec], 0x3020d8
jmp 0x4f70c7
movzx eax, bp
mov dword [esp + 0x40], eax
mov dword [esp + 0x104], edi
jmp 0x4f71e0
mov dword [0x7e42ec], 0x3020e1
mov dword [0x7e42ec], 0x3020e2
xor edx, edx
jmp 0x4f7240
mov dword [0x7e42ec], 0x3020f0
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a11c0
sub esp, 0x18
mov dword [0x7e42ec], 0x3020f1
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x3020fc
mov dword [0x7e42ec], 0x3020fe
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.0058224e
sub esp, 4
test eax, eax
je 0x4f7446
mov dword [0x7e42ec], 0x3020dd
mov dword [0x7e42ec], 0x3020de
mov ebx, dword [esi + 0x21e]
lea edi, [ebx + 8]
mov dword [0x7e42ec], 0x3020e0
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
test eax, eax
jne 0x4f713a
mov dword [0x7e42ec], 0x3020e2
mov dword [0x7e42ec], 0x3020e3
mov edx, dword [esi + 0x112]
mov dword [0x7e42ec], 0x3020e4
mov dword [0x7e42ec], 0x3020e5
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x30], edx
mov eax, dword [esp + 0x40]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a11c0
sub esp, 0x18
mov dword [0x7e42ec], 0x3020e6
mov eax, dword [ebx + 0x44]
mov dword [0x7e42ec], 0x30098b
mov dword [0x7e42ec], 0x30098c
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004846a0
sub esp, 8
mov dword [0x7e42ec], 0x3020e8
mov eax, dword [ebx + 0x40]
test eax, eax
mov edx, dword [esp + 0x30]
je 0x4f72d6
mov dword [0x7e42ec], 0x3020e9
mov byte [eax + 0x2c], 1
mov dword [0x7e42ec], 0x3020ea
mov dword [0x7e42ec], 0x3020ed
test byte [esi + 0x367], 0x20
je 0x4f71b3
mov dword [0x7e42ec], 0x3020ee
mov dword [0x7e42ec], 0x3020ef
mov dword [0x7e42ec], 0x3020ef
cmp ebp, 0x22
je 0x4f7155
cmp ebp, 0x27
je 0x4f7155
mov dword [0x7e42ec], 0x3020f2
mov dword [0x7e42ec], 0x3020f2
cmp ebp, 0x28
je 0x4f73be
mov dword [0x7e42ec], 0x3020f5
mov dword [0x7e42ec], 0x3020f5
cmp ebp, 0x5b
je 0x4f7402
mov dword [0x7e42ec], 0x3020f8
mov dword [0x7e42ec], 0x3020f8
cmp ebp, 0x7b
jne 0x4f71b3
mov dword [0x7e42ec], 0x3020f9
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x7d
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a11c0
sub esp, 0x18
mov dword [0x7e42ec], 0x3020fa
jmp 0x4f7194
mov dword [0x7e42ec], 0x3020f3
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x29
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a11c0
sub esp, 0x18
mov dword [0x7e42ec], 0x3020f4
jmp 0x4f7194
mov dword [0x7e42ec], 0x3020f6
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], 0x5d
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a11c0
sub esp, 0x18
mov dword [0x7e42ec], 0x3020f7
jmp 0x4f7194
mov edi, dword [esp + 0x104]
jmp 0x4f70e6
mov ebx, 1
mov dword [0x7e42ec], 0x30210f
mov dword [0x7e42ec], 0x302111
mov dword [esi + 0x2ee], 1
mov dword [0x7e42ec], 0x302113
mov dword [0x7e42ec], 0x30234a
mov dword [0x7e42ec], 0x30234c
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x4f6e69
mov dword [0x7e42ec], 0x30234e
mov dword [0x7e42ec], 0x302350
mov dword [0x7e42ec], 0x302352
mov eax, dword [esi + 0x222]
mov dword [esp], eax
call fcn.004011b0
sub esp, 4
mov dword [esp + 0x40], eax
test eax, eax
je 0x4fd12f
mov dword [esp + 0x30], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 1
jmp 0x4f8575
mov dword [0x7e42ec], 0x30210b
mov dword [0x7e42ec], 0x30210c
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0048a110
sub esp, 0xc
mov dword [0x7e42ec], 0x30210d
xor ebx, ebx
jmp 0x4f6feb
mov dword [0x7e42ec], 0x302115
mov dword [esp + 4], 5
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov dword [esp + 0x24], eax
mov dword [0x7e42ec], 0x302116
mov dword [esp + 4], 6
mov eax, dword [edi + 4]
mov dword [esp], eax
call fcn.00559724
sub esp, 8
mov dword [esp + 0x20], eax
mov dword [0x7e42ec], 0x302117
mov dword [0x7e42ec], 0x302119
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
test eax, eax
je 0x4f7623
mov dword [0x7e42ec], 0x302120
mov dword [0x7e42ec], 0x302122
mov eax, dword [esp + 0x20]
and eax, 1
mov dword [esp + 0x40], eax
jne 0x4f76ef
mov dword [0x7e42ec], 0x30212f
mov dword [0x7e42ec], 0x302131
test byte [esp + 0x20], 4
jne 0x4f7813
mov dword [0x7e42ec], 0x302133
mov dword [0x7e42ec], 0x302134
mov dword [esp + 0x38], 1
jmp 0x4f782f
mov dword [0x7e42ec], 0x30211b
mov dword [esp], esi
call fcn.00449410
sub esp, 4
test eax, eax
jne 0x4f764b
mov dword [0x7e42ec], 0x30211f
jmp 0x4f75be
mov dword [0x7e42ec], 0x30211c
mov edx, dword [esi + 0x222]
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
test edx, edx
mov dword [esp + 0x30], edx
je 0x4f76be
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
test eax, eax
je 0x4f76be
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov edx, dword [esp + 0x30]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f76c8
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x30211d
mov dword [edi + 0x30], 1
mov dword [0x7e42ec], 0x30211e
mov dword [edi + 0x34], 1
jmp 0x4f763c
mov dword [0x7e42ec], 0x302123
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
sub esp, 4
jmp 0x4f7724
mov dword [0x7e42ec], 0x302127
mov dword [0x7e42ec], 0x302128
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4f77b4
mov dword [0x7e42ec], 0x302123
mov dword [0x7e42ec], 0x302124
mov eax, dword [esi + 0x21e]
mov ecx, dword [eax + 0x7c]
test ecx, ecx
jg 0x4f7710
mov dword [0x7e42ec], 0x302125
mov ecx, dword [eax + 0x44]
mov edx, dword [eax + 0x4c]
mov dword [0x7e42ec], 0x301203
mov dword [0x7e42ec], 0x301204
mov dword [0x7e42ec], 0x301204
mov dword [0x7e42ec], 0x301205
mov dword [eax + 0x7c], ecx
mov dword [0x7e42ec], 0x301206
mov dword [eax + 0x84], edx
mov dword [0x7e42ec], 0x301207
jmp 0x4f7710
mov dword [0x7e42ec], 0x30212a
cmp dword [esp + 0x24], 0x2d
jne 0x4f7cc0
mov dword [0x7e42ec], 0x30212b
mov dword [0x7e42ec], 0x30212c
mov dword [0x7e42ec], 0x30212d
mov dword [0x7e42ec], 0x30212f
mov dword [0x7e42ec], 0x302131
mov dword [esp + 0x40], 0
mov dword [esp + 0x24], 0x56
mov dword [esp + 0x20], 4
mov dword [0x7e42ec], 0x302132
mov dword [0x7e42ec], 0x302133
mov dword [esp + 0x38], 0
mov dword [0x7e42ec], 0x302135
mov dword [0x7e42ec], 0x302137
mov dword [0x7e42ec], 0x302139
mov dword [0x7e42ec], 0x302139
cmp dword [esp + 0x24], 0x1b
je 0x4f7ce3
mov dword [0x7e42ec], 0x302140
mov dword [0x7e42ec], 0x302140
cmp dword [esp + 0x24], 0x2d
je 0x4f7d55
mov dword [0x7e42ec], 0x302145
mov dword [0x7e42ec], 0x302145
mov eax, dword [esp + 0x24]
cmp eax, 0x70
je 0x4fd118
mov dword [0x7e42ec], 0x302157
mov dword [0x7e42ec], 0x302157
cmp eax, 0x71
je 0x4f7de4
mov dword [0x7e42ec], 0x302160
mov dword [0x7e42ec], 0x302160
cmp dword [esp + 0x24], 0x72
je 0x4f813a
mov dword [0x7e42ec], 0x30216a
mov dword [0x7e42ec], 0x30216a
cmp dword [esp + 0x24], 0x73
je 0x4f82d0
mov dword [0x7e42ec], 0x302177
mov dword [0x7e42ec], 0x302177
cmp dword [esp + 0x24], 0x78
je 0x4f83eb
mov dword [0x7e42ec], 0x30217c
mov dword [0x7e42ec], 0x30217c
cmp dword [esp + 0x24], 0x41
je 0x4f8436
mov dword [0x7e42ec], 0x302186
mov dword [0x7e42ec], 0x302186
cmp dword [esp + 0x24], 0x42
je 0x4f864b
mov dword [0x7e42ec], 0x302199
mov dword [0x7e42ec], 0x302199
cmp dword [esp + 0x24], 0x43
je 0x4f87bc
mov dword [0x7e42ec], 0x3021a1
mov dword [0x7e42ec], 0x3021a1
cmp dword [esp + 0x24], 0x44
je 0x4f881c
mov dword [0x7e42ec], 0x3021ad
mov dword [0x7e42ec], 0x3021ad
cmp dword [esp + 0x24], 0x45
je 0x4f8c29
mov dword [0x7e42ec], 0x3021c0
mov dword [0x7e42ec], 0x3021c0
cmp dword [esp + 0x24], 0x46
je 0x4f8d41
mov dword [0x7e42ec], 0x3021cf
mov dword [0x7e42ec], 0x3021cf
cmp dword [esp + 0x24], 0x47
je 0x4f8e5d
mov dword [0x7e42ec], 0x3021d5
mov dword [0x7e42ec], 0x3021d5
cmp dword [esp + 0x24], 0x49
je 0x4f8ead
mov dword [0x7e42ec], 0x3021e0
mov dword [0x7e42ec], 0x3021e0
cmp dword [esp + 0x24], 0x4c
je 0x4f8f9a
mov dword [0x7e42ec], 0x3021ef
mov dword [0x7e42ec], 0x3021ef
cmp dword [esp + 0x24], 0x55
je 0x4f9257
mov dword [0x7e42ec], 0x3021f7
mov dword [0x7e42ec], 0x3021f7
cmp dword [esp + 0x24], 0x56
je 0x4f92d0
mov dword [0x7e42ec], 0x3021ff
mov dword [0x7e42ec], 0x3021ff
cmp dword [esp + 0x24], 0x58
je 0x4f932a
mov dword [0x7e42ec], 0x302207
mov dword [0x7e42ec], 0x302207
cmp dword [esp + 0x24], 0x59
je 0x4f9384
mov dword [0x7e42ec], 0x302212
mov dword [0x7e42ec], 0x302212
cmp dword [esp + 0x24], 0x5a
je 0x4f9425
mov dword [0x7e42ec], 0x30221b
mov dword [0x7e42ec], 0x30221b
cmp dword [esp + 0x24], 9
je 0x4f94a6
mov dword [0x7e42ec], 0x302246
mov dword [0x7e42ec], 0x302246
cmp dword [esp + 0x24], 8
je 0x4fa046
mov dword [0x7e42ec], 0x302276
mov dword [0x7e42ec], 0x302276
cmp dword [esp + 0x24], 0x2e
je 0x4fa524
mov dword [0x7e42ec], 0x302289
mov dword [0x7e42ec], 0x302289
cmp dword [esp + 0x24], 0xd
je 0x4fa786
mov dword [0x7e42ec], 0x3022a8
mov dword [0x7e42ec], 0x3022a8
cmp dword [esp + 0x24], 0x24
je 0x4faa66
mov dword [0x7e42ec], 0x3022b2
mov dword [0x7e42ec], 0x3022b2
cmp dword [esp + 0x24], 0x23
je 0x4fac0a
mov dword [0x7e42ec], 0x3022bc
mov dword [0x7e42ec], 0x3022bc
cmp dword [esp + 0x24], 0x25
je 0x4fad36
mov dword [0x7e42ec], 0x3022cb
mov dword [0x7e42ec], 0x3022cb
cmp dword [esp + 0x24], 0x27
je 0x4fae97
mov dword [0x7e42ec], 0x3022dc
mov dword [0x7e42ec], 0x3022dc
cmp dword [esp + 0x24], 0x26
je 0x4fb1d9
mov dword [0x7e42ec], 0x3022f6
mov dword [0x7e42ec], 0x3022f6
cmp dword [esp + 0x24], 0x28
je 0x4fb499
mov dword [0x7e42ec], 0x302310
mov dword [0x7e42ec], 0x302310
cmp dword [esp + 0x24], 0x21
je 0x4fb740
mov dword [0x7e42ec], 0x30231e
mov dword [0x7e42ec], 0x30231e
cmp dword [esp + 0x24], 0x22
je 0x4fb889
mov dword [0x7e42ec], 0x30232c
mov dword [0x7e42ec], 0x30232c
cmp dword [esp + 0x24], 0x6b
je 0x4fb9d0
mov dword [0x7e42ec], 0x302332
mov dword [0x7e42ec], 0x302332
cmp dword [esp + 0x24], 0x6d
je 0x4fba27
mov dword [0x7e42ec], 0x302338
mov dword [0x7e42ec], 0x302338
cmp dword [esp + 0x24], 0x60
je 0x4fba7e
mov dword [0x7e42ec], 0x30233e
mov dword [0x7e42ec], 0x302340
jmp 0x4f87e1
mov dword [0x7e42ec], 0x30212d
mov dword [0x7e42ec], 0x30212f
mov dword [0x7e42ec], 0x302131
jmp 0x4f7813
mov dword [0x7e42ec], 0x30213b
mov eax, dword [esi + 0x226]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00449500
sub esp, 8
mov dword [0x7e42ec], 0x30213c
mov dword [esp], esi
call fcn.004499b0
sub esp, 4
mov dword [0x7e42ec], 0x30213d
mov dword [esp], esi
call fcn.004823f0
sub esp, 4
mov dword [0x7e42ec], 0x30213e
mov dword [esp], esi
call fcn.004abe80
sub esp, 4
mov dword [esp + 0x30], 0
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302142
xor eax, eax
mov edx, dword [esi + 0x112]
test edx, edx
sete al
mov dword [esi + 0x112], eax
mov dword [0x7e42ec], 0x302143
xor edx, edx
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x302344
mov eax, 1
mov dword [0x7e42ec], 0x302345
mov dword [esi + 0x2ee], 2
mov dword [0x7e42ec], 0x302346
mov dword [0x7e42ec], 0x302348
mov dword [0x7e42ec], 0x30234a
mov dword [0x7e42ec], 0x30234c
mov dword [esp + 0x2c], ebx
mov ebx, edx
jmp 0x4f84f2
mov dword [0x7e42ec], 0x302159
mov eax, dword [esi + 0x222]
mov eax, dword [eax + 0x38]
mov dword [esp + 0x2c], eax
test byte [esp + 0x20], 4
jne 0x4f80e0
mov dword [0x7e42ec], 0x30215b
mov dword [0x7e42ec], 0x30215c
mov dword [0x7e42ec], 0x301bda
mov dword [0x7e42ec], 0x301bdb
mov dword [0x7e42ec], 0x301bdb
mov dword [0x7e42ec], 0x301bdd
mov dword [0x7e42ec], 0x301bde
mov dword [0x7e42ec], 0x301be0
mov dword [esp + 4], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822a5
sub esp, 8
jmp 0x4f7ff4
mov dword [0x7e42ec], 0x301be2
mov dword [0x7e42ec], 0x301be8
mov dword [0x7e42ec], 0x301bf1
mov dword [0x7e42ec], 0x301bf3
mov dword [0x7e42ec], 0x301bf4
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048aac0
push ecx
push ecx
mov dword [esp + 0x30], eax
mov edx, dword [esi + 0x222]
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
test edx, edx
je 0x4f7ef5
mov dword [esp + 0x2c], edx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
test eax, eax
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
jne 0x4f80a2
mov edx, dword [esi + 0x222]
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x301bf5
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, dword [edx + 0x40]
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004901a0
sub esp, 0x18
mov dword [0x7e42ec], 0x301bf6
jmp 0x4f810f
mov dword [0x7e42ec], 0x301be8
mov dword [0x7e42ec], 0x301be9
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821d3
push ecx
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4fd187
mov dword [0x7e42ec], 0x301be9
mov dword [0x7e42ec], 0x301bea
mov eax, dword [esi + 0xc]
lea edx, [eax + 8]
cmp dword [esp + 0x2c], edx
je 0x4f803d
test byte [eax + 0x35], 1
jne 0x4f8060
mov dword [0x7e42ec], 0x301bef
mov dword [0x7e42ec], 0x301bf0
jmp 0x4f7f65
mov dword [0x7e42ec], 0x301be4
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582279
sub esp, 4
mov dword [0x7e42ec], 0x301be5
mov dword [0x7e42ec], 0x301be6
add eax, 1
jne 0x4f7e6d
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
mov dword [0x7e42ec], 0x301be2
test eax, eax
je 0x4f7f45
mov dword [0x7e42ec], 0x301be3
mov eax, dword [esi + 0xc]
test byte [eax + 0x35], 1
jne 0x4f7fbf
mov dword [0x7e42ec], 0x301be5
mov dword [0x7e42ec], 0x301be6
jmp 0x4f7ff4
mov dword [0x7e42ec], 0x301beb
mov dword [0x7e42ec], 0x301bf1
mov dword [0x7e42ec], 0x301bf3
jmp 0x4fd19b
mov dword [0x7e42ec], 0x301bed
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582279
push edx
mov dword [0x7e42ec], 0x301bee
mov dword [0x7e42ec], 0x301bf1
mov dword [0x7e42ec], 0x301bf3
add eax, 1
jne 0x4f7e95
jmp 0x4fd19b
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
mov edx, dword [esi + 0x222]
jmp 0x4f7eff
mov dword [0x7e42ec], 0x30215a
mov dword [esp + 8], 1
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043ea10
sub esp, 0xc
mov dword [0x7e42ec], 0x30215b
mov dword [0x7e42ec], 0x30215d
mov dword [0x7e42ec], 0x30215e
xor edx, edx
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302162
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x4f8227
mov dword [0x7e42ec], 0x302164
mov dword [0x7e42ec], 0x302165
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov edx, dword [esi + 0x256]
mov dword [esp + 0x2c], edx
call fcn.0058d170
mov dword [esp + 4], eax
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
call fcn.0055aea0
push eax
push eax
add dword [0x7eaa00], 2
mov edx, dword [esi + 0x222]
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
call fcn.0058d1f0
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], 0x7e435c
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004ac890
sub esp, 0x1c
call fcn.0058d1a0
mov dword [0x7e42ec], 0x302166
mov dword [0x7e42ec], 0x302168
mov dword [esp + 0x30], 0
xor edx, edx
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302163
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov edx, dword [esi + 0x256]
mov dword [esp + 0x2c], edx
call fcn.0058d170
mov dword [esp + 4], eax
mov edx, dword [esp + 0x2c]
mov dword [esp], edx
call fcn.0055aea0
push ecx
push ecx
add dword [0x7eaa00], 2
mov edx, dword [esi + 0x222]
mov eax, dword [edx + 0x3c]
mov dword [esp + 0x2c], eax
mov ecx, dword [edx + 0x44]
mov dword [esp + 0x34], edx
mov dword [esp + 0x30], ecx
call fcn.0058d1f0
mov dword [esp + 0x18], 2
mov dword [esp + 0x14], 0x7e435c
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x30]
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004ac890
sub esp, 0x1c
call fcn.0058d1a0
mov dword [0x7e42ec], 0x302164
jmp 0x4f81f4
mov dword [0x7e42ec], 0x30216c
test byte [esp + 0x20], 4
jne 0x4f8359
mov dword [0x7e42ec], 0x302170
mov dword [0x7e42ec], 0x302171
mov eax, dword [esi + 0x222]
mov eax, dword [eax + 0x3c]
mov dword [0x7e42ec], 0x300955
mov dword [0x7e42ec], 0x300956
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00498a20
push edx
push edx
mov dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x302172
mov dword [0x7e42ec], 0x302174
mov dword [0x7e42ec], 0x302175
mov dword [esp + 0x34], 0
xor edx, edx
mov dword [esp + 0x38], 0
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30216d
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.005821d3
push ecx
xor eax, eax
mov dword [esp + 0x2c], ebx
mov ebx, eax
jmp 0x4f83c2
mov dword [0x7e42ec], 0x30216d
mov dword [0x7e42ec], 0x30216e
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0xc]
mov dword [0x7e42ec], 0x300955
mov dword [0x7e42ec], 0x300956
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00498a20
sub esp, 8
add ebx, eax
mov dword [0x7e42ec], 0x30216f
mov eax, dword [esi + 0x10]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
jne 0x4f8379
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x2c]
mov dword [0x7e42ec], 0x302170
jmp 0x4f8324
mov dword [0x7e42ec], 0x302179
mov dword [esp + 8], 2
mov eax, dword [esi + 0x222]
mov eax, dword [eax + 0x38]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043ea10
sub esp, 0xc
mov dword [0x7e42ec], 0x30217a
xor edx, edx
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30217e
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f8604
mov dword [0x7e42ec], 0x302182
mov dword [0x7e42ec], 0x302183
mov dword [0x7e42ec], 0x302184
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov eax, 1
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x302344
mov edx, dword [esp + 0x24]
test edx, edx
jne 0x4fb1ce
mov dword [0x7e42ec], 0x302346
mov dword [0x7e42ec], 0x302347
mov dword [esi + 0x2ee], 1
mov dword [0x7e42ec], 0x302348
mov dword [0x7e42ec], 0x30234a
mov dword [0x7e42ec], 0x30234c
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x4f6e71
mov dword [esp + 0x24], 0
mov dword [0x7e42ec], 0x30234e
mov ecx, dword [esp + 0x20]
and ecx, 1
mov dword [esp + 0x40], ecx
test eax, eax
sete byte [esp + 0x20]
test ebp, ebp
je 0x4f854c
mov eax, dword [esi + 0x22a]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
cmp ebp, eax
je 0x4f854c
mov dword [0x7e42ec], 0x30234f
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0048a110
sub esp, 0xc
mov dword [0x7e42ec], 0x302350
mov dword [0x7e42ec], 0x302352
mov eax, dword [esi + 0x222]
mov dword [esp], eax
call fcn.004011b0
sub esp, 4
test eax, eax
je 0x4f85ba
mov dword [0x7e42ec], 0x302353
mov eax, dword [esi + 0x222]
mov edx, dword [eax + 0x3c]
cmp edx, dword [eax + 0x74]
je 0x4fbae0
mov dword [0x7e42ec], 0x302355
mov dword [0x7e42ec], 0x302356
mov dword [esp], esi
call fcn.00401690
sub esp, 4
mov dword [0x7e42ec], 0x302357
mov dword [0x7e42ec], 0x302358
mov dword [0x7e42ec], 0x30235a
mov edx, dword [esp + 0x38]
test edx, edx
jne 0x4fd153
mov dword [0x7e42ec], 0x30235d
mov dword [0x7e42ec], 0x30235f
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
sub esp, 4
jmp 0x4fbb62
mov dword [0x7e42ec], 0x30217f
mov dword [esp], esi
call fcn.004a2db0
push edx
test eax, eax
je 0x4f862d
mov dword [0x7e42ec], 0x302180
xor eax, eax
mov dword [esi + 0x2e6], eax
mov dword [0x7e42ec], 0x302181
mov dword [0x7e42ec], 0x302182
mov eax, 0x41
jmp 0x4f8461
mov dword [0x7e42ec], 0x302188
mov eax, dword [esp + 0x20]
mov edx, eax
and edx, 4
jne 0x4f86a4
mov dword [0x7e42ec], 0x302195
mov dword [0x7e42ec], 0x302196
mov dword [0x7e42ec], 0x302197
mov dword [esp + 0x24], edx
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x20], eax
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x302189
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push eax
mov eax, dword [esp + 0x20]
and eax, 2
mov dword [esp + 0x20], eax
jmp 0x4f8724
mov dword [0x7e42ec], 0x30218b
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a5d10
push eax
push eax
mov dword [0x7e42ec], 0x30218c
jmp 0x4f8710
mov dword [0x7e42ec], 0x30218e
mov dword [0x7e42ec], 0x30218f
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a44c0
push eax
push eax
mov dword [0x7e42ec], 0x302190
mov dword [0x7e42ec], 0x302191
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4f878e
mov dword [0x7e42ec], 0x302189
mov dword [0x7e42ec], 0x30218a
mov eax, dword [esi + 0x21e]
add eax, 8
mov ecx, dword [esp + 0x20]
test ecx, ecx
jne 0x4f86ca
mov edx, dword [esp + 0x40]
test edx, edx
je 0x4f86ee
mov dword [0x7e42ec], 0x30218d
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a4880
push eax
push eax
mov dword [0x7e42ec], 0x30218e
jmp 0x4f8710
mov dword [0x7e42ec], 0x302193
mov dword [0x7e42ec], 0x302194
mov dword [0x7e42ec], 0x302195
mov edx, 0x42
xor ecx, ecx
mov dword [esp + 0x38], ecx
jmp 0x4f8674
mov dword [0x7e42ec], 0x30219b
test byte [esp + 0x20], 4
jne 0x4f8807
mov dword [0x7e42ec], 0x30219d
mov dword [0x7e42ec], 0x30219f
mov dword [0x7e42ec], 0x302344
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], edx
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f84a2
mov dword [0x7e42ec], 0x30219c
mov dword [esp], esi
call fcn.00496200
push ecx
jmp 0x4f87cd
mov dword [0x7e42ec], 0x3021a3
mov eax, dword [esp + 0x20]
and eax, 4
mov dword [esp + 0x30], eax
jne 0x4f886f
mov dword [0x7e42ec], 0x3021a9
mov dword [0x7e42ec], 0x3021aa
xor edx, edx
mov dword [esp + 0x24], edx
mov dword [0x7e42ec], 0x3021ab
xor ecx, ecx
mov dword [esp + 0x2c], ecx
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x3021a4
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push eax
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebp
jmp 0x4f8a9b
mov dword [0x7e42ec], 0x30136b
call fcn.0058d210
mov eax, dword [esi + 0x31a]
mov dword [esp], eax
call fcn.0058d230
push eax
mov eax, dword [ebx + 0x40]
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.0058d230
push eax
call fcn.0058d170
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.0058d280
push eax
push eax
mov dword [0x7e42ec], 0x30136c
mov eax, dword [ebx + 0x40]
mov dword [0x7e42ec], 0x3010ba
mov dword [0x7e42ec], 0x3010bb
mov dword [0x7e42ec], 0x3010bb
xor edx, edx
test eax, eax
je 0x4f892b
mov dword [0x7e42ec], 0x3010bd
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00589cb0
push ecx
mov edx, eax
mov dword [esp + 0x48], edx
mov ecx, dword [ebx + 0x44]
mov dword [esp + 0x44], ecx
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
test eax, eax
je 0x4f8991
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov edx, dword [esp + 0x48]
add edx, 1
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f8bc7
mov dword [0x7e42ec], 0x3016d1
jmp 0x4f8bc7
mov dword [0x7e42ec], 0x301370
mov dword [esp], eax
call fcn.00589cb0
push edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0xb
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.00494da0
sub esp, 0x18
mov dword [0x7e42ec], 0x301371
mov ebx, dword [ebx + 0x44]
mov dword [0x7e42ec], 0x301373
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push ecx
test eax, eax
je 0x4f8a4d
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 8], eax
mov dword [esp + 4], ebp
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f8a57
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x301375
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
call fcn.0058d2e0
push ebp
test ebx, ebx
je 0x4f8a87
mov dword [0x7e42ec], 0x3021a6
mov dword [esp + 0x30], 1
mov dword [0x7e42ec], 0x3021a7
mov dword [0x7e42ec], 0x3021a8
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4f8c12
mov dword [0x7e42ec], 0x3021a4
mov dword [0x7e42ec], 0x3021a5
mov ebx, dword [esi + 0x21e]
lea ebp, [ebx + 8]
mov dword [esp + 0xa8], 0
mov dword [0x7e42ec], 0x30135c
mov dword [0x7e42ec], 0x30135d
mov dword [0x7e42ec], 0x30135d
mov dword [0x7e42ec], 0x301365
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x34], eax
mov dword [0x7e42ec], 0x301366
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x40], eax
mov dword [0x7e42ec], 0x301368
call fcn.0058d210
call fcn.0058d210
mov eax, dword [ebx + 0x44]
mov dword [esp + 0x44], eax
mov ecx, dword [ebx + 0x4c]
mov dword [esp + 0x48], ecx
mov edx, dword [ebx + 0x7c]
mov dword [esp + 0x58], edx
mov ecx, dword [ebx + 0x84]
mov dword [esp + 0x54], ecx
call fcn.0058d170
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x48]
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00495620
sub esp, 0x18
call fcn.0058d170
mov dword [esp + 4], eax
lea eax, [esp + 0xa8]
mov dword [esp], eax
call fcn.0058d280
sub esp, 8
mov dword [0x7e42ec], 0x30136a
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], 0x7e435c
call fcn.0058d110
test eax, eax
jne 0x4f889b
mov dword [0x7e42ec], 0x30136d
mov dword [0x7e42ec], 0x30136f
mov eax, dword [esp + 0xa8]
test eax, eax
je 0x4f8bf0
cmp word [eax], 0
jne 0x4f89a0
mov dword [0x7e42ec], 0x301376
mov dword [0x7e42ec], 0x301377
mov dword [esp], eax
call fcn.0058d2e0
push ebx
jmp 0x4f8a87
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x50]
mov dword [0x7e42ec], 0x3021a9
jmp 0x4f884d
mov dword [0x7e42ec], 0x3021af
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f8ca2
mov dword [0x7e42ec], 0x3021b8
mov dword [0x7e42ec], 0x3021b9
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [0x7e42ec], 0x3021ba
mov dword [0x7e42ec], 0x3021bc
mov dword [0x7e42ec], 0x3021bd
mov dword [0x7e42ec], 0x3021be
xor edx, edx
mov dword [esi + 0x2e6], edx
mov dword [esp + 0x24], eax
xor ecx, ecx
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x2c], ecx
mov eax, 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x3021b0
cmp dword [esp + 0x40], 0
jne 0x4f8d19
mov dword [0x7e42ec], 0x3021b2
mov dword [0x7e42ec], 0x3021b3
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.004a64c0
push eax
push eax
mov dword [0x7e42ec], 0x3021b4
mov dword [0x7e42ec], 0x3021b6
mov dword [0x7e42ec], 0x3021b7
mov dword [0x7e42ec], 0x3021b8
mov eax, 0x45
xor edx, edx
mov dword [esp + 0x20], edx
mov dword [esp + 0x30], 1
jmp 0x4f8c56
mov dword [0x7e42ec], 0x3021b1
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.004a64c0
push ecx
push ecx
mov dword [0x7e42ec], 0x3021b2
jmp 0x4f8cd9
mov dword [0x7e42ec], 0x3021c2
mov edx, dword [esp + 0x20]
and edx, 4
jne 0x4f8d81
mov dword [0x7e42ec], 0x3021cb
mov dword [0x7e42ec], 0x3021cd
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x38], eax
xor ebx, ebx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x3021c4
mov eax, dword [esi + 0x222]
mov ebx, dword [eax + 0x74]
cmp dword [eax + 0x3c], ebx
je 0x4f8dd8
mov dword [0x7e42ec], 0x3021c6
mov dword [0x7e42ec], 0x3021c7
mov dword [esp + 4], 0x7e435c
mov dword [esp], esi
call fcn.004231b0
push eax
push eax
mov dword [0x7e42ec], 0x3021c8
mov dword [0x7e42ec], 0x3021c9
jmp 0x4f69e5
mov dword [0x7e42ec], 0x3021c5
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esi + 0x222]
mov ebx, dword [eax + 0x3c]
mov edx, dword [eax + 0x44]
mov dword [esp + 0x20], edx
mov edi, dword [eax + 0x74]
mov ebp, dword [eax + 0x7c]
call fcn.0058d170
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], ebp
mov dword [esp + 0xc], edi
mov edx, dword [esp + 0x20]
mov dword [esp + 8], edx
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.00495620
sub esp, 0x18
add dword [0x7eaa00], 2
call fcn.0058d1f0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004231b0
push eax
push eax
call fcn.0058d1a0
mov dword [0x7e42ec], 0x3021c6
jmp 0x4f8dbf
mov dword [0x7e42ec], 0x3021d1
test byte [esp + 0x20], 4
jne 0x4f8e8d
mov dword [0x7e42ec], 0x3021d3
xor eax, eax
mov dword [esp + 0x30], eax
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x3021d2
mov eax, dword [esi + 0x222]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00490650
push eax
push eax
jmp 0x4f8e6e
mov dword [0x7e42ec], 0x3021d7
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f8efe
mov dword [0x7e42ec], 0x3021dc
mov dword [0x7e42ec], 0x3021dd
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x3021de
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], eax
mov eax, 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x3021d8
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
jmp 0x4f8f65
mov dword [0x7e42ec], 0x3021d8
mov dword [0x7e42ec], 0x3021d9
mov eax, dword [esi + 0x21e]
mov dword [esp + 0x10], 2
lea edx, [eax + 8]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x7c]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a4ed0
sub esp, 0x14
mov dword [0x7e42ec], 0x3021da
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
jne 0x4f8f19
mov dword [esp + 0x34], eax
mov dword [0x7e42ec], 0x3021db
mov dword [0x7e42ec], 0x3021dc
mov eax, 0x49
jmp 0x4f8edc
mov dword [0x7e42ec], 0x3021e2
mov eax, dword [esp + 0x20]
cmp eax, 6
je 0x4f8ffd
cmp eax, 5
je 0x4f9030
cmp dword [esp + 0x20], 4
je 0x4f90e2
mov dword [0x7e42ec], 0x3021eb
mov dword [0x7e42ec], 0x3021ec
xor ecx, ecx
mov dword [esp + 0x24], ecx
mov eax, 1
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x3021ed
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [esp + 0x2c], edx
jmp 0x4f848c
mov dword [0x7e42ec], 0x3021e3
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00497450
push eax
push eax
mov dword [0x7e42ec], 0x3021e4
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f8fe4
mov dword [0x7e42ec], 0x3021e5
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esi + 0x222]
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x2c], ecx
mov edx, dword [eax + 0x44]
mov dword [esp + 0x30], edx
mov ecx, dword [eax + 0x74]
mov dword [esp + 0x40], ecx
mov edx, dword [eax + 0x7c]
mov dword [esp + 0x34], edx
call fcn.0058d170
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x34]
mov dword [esp + 0x10], edx
mov ecx, dword [esp + 0x40]
mov dword [esp + 0xc], ecx
mov edx, dword [esp + 0x30]
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00495620
sub esp, 0x18
add dword [0x7eaa00], 2
call fcn.0058d1f0
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2840
push eax
push eax
call fcn.0058d1a0
mov dword [0x7e42ec], 0x3021e6
mov dword [0x7e42ec], 0x3021e7
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, 1
jmp 0x4f8fe4
mov dword [0x7e42ec], 0x3021e8
mov dword [0x7e42ec], 0x301613
mov dword [0x7e42ec], 0x301614
cmp dword [esi + 0x226], 0
mov dword [0x7e42ec], 0x301614
je 0x4f9141
mov dword [0x7e42ec], 0x301616
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.00582223
push edx
test eax, eax
jne 0x4f9178
mov dword [0x7e42ec], 0x30161d
mov dword [0x7e42ec], 0x30161e
mov dword [0x7e42ec], 0x3021e9
mov dword [0x7e42ec], 0x3021ea
mov dword [esi + 0x2e6], 1
mov dword [0x7e42ec], 0x3021eb
xor eax, eax
mov dword [esp + 0x34], 1
jmp 0x4f8fe4
mov dword [0x7e42ec], 0x301617
mov edx, dword [esi + 0x226]
mov eax, dword [esi + 0x24]
mov ecx, dword [eax + 8]
mov dword [esp + 0x30], ecx
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
test edx, edx
mov dword [esp + 0x2c], edx
je 0x4f91f3
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push ecx
test eax, eax
je 0x4f91f3
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov ecx, dword [esp + 0x30]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f91fd
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x301618
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.005822bf
push edx
sub eax, 1
jle 0x4f922e
mov dword [0x7e42ec], 0x301619
mov eax, dword [esi + 0x20]
mov dword [esp], eax
call fcn.00582569
push eax
mov dword [0x7e42ec], 0x30161a
mov dword [0x7e42ec], 0x30161c
xor ecx, ecx
mov dword [esp + 4], ecx
mov dword [esp], esi
call fcn.00449680
push eax
push eax
jmp 0x4f912d
mov dword [0x7e42ec], 0x3021f1
cmp dword [esp + 0x20], 6
je 0x4f92a8
mov dword [0x7e42ec], 0x3021f3
mov dword [0x7e42ec], 0x3021f4
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [0x7e42ec], 0x3021f5
xor ecx, ecx
mov dword [esp + 0x30], ecx
mov dword [esp + 0x2c], ecx
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x3021f2
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.00497450
push eax
push eax
mov dword [0x7e42ec], 0x3021f3
jmp 0x4f9282
mov dword [0x7e42ec], 0x3021f9
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f9306
mov dword [0x7e42ec], 0x3021fb
mov dword [0x7e42ec], 0x3021fc
mov dword [0x7e42ec], 0x3021fd
jmp 0x4f846b
mov dword [0x7e42ec], 0x3021fa
mov dword [esp], esi
call fcn.00496d00
push edx
mov dword [0x7e42ec], 0x3021fb
mov eax, 0x56
jmp 0x4f92f7
mov dword [0x7e42ec], 0x302201
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f9360
mov dword [0x7e42ec], 0x302203
mov dword [0x7e42ec], 0x302204
mov dword [0x7e42ec], 0x302205
jmp 0x4f846b
mov dword [0x7e42ec], 0x302202
mov dword [esp], esi
call fcn.00497250
push eax
mov dword [0x7e42ec], 0x302203
mov eax, 0x58
jmp 0x4f9351
mov dword [0x7e42ec], 0x302209
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f93ba
mov dword [0x7e42ec], 0x30220e
mov dword [0x7e42ec], 0x30220f
mov dword [0x7e42ec], 0x302210
jmp 0x4f846b
mov dword [0x7e42ec], 0x30220a
mov dword [esp], esi
call fcn.00449820
push eax
mov dword [0x7e42ec], 0x30220b
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
lea eax, [esi + 0x23e]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004ad530
sub esp, 0xc
test eax, eax
je 0x4f940a
mov dword [0x7e42ec], 0x30220c
xor eax, eax
mov dword [esi + 0x23a], eax
mov dword [0x7e42ec], 0x30220d
mov dword [0x7e42ec], 0x30220e
mov eax, 0x59
jmp 0x4f93ab
mov dword [0x7e42ec], 0x302214
mov eax, dword [esp + 0x20]
and eax, 4
jne 0x4f945b
mov dword [0x7e42ec], 0x302217
mov dword [0x7e42ec], 0x302218
mov dword [0x7e42ec], 0x302219
jmp 0x4f846b
mov dword [0x7e42ec], 0x302215
mov dword [esp], esi
call fcn.00449820
push eax
mov dword [0x7e42ec], 0x302216
lea eax, [esi + 0x23e]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004ad530
sub esp, 0xc
mov dword [0x7e42ec], 0x302217
mov eax, 0x5a
jmp 0x4f944c
mov dword [0x7e42ec], 0x30221d
cmp byte [esi + 0xd8], 0
jne 0x4f9597
test byte [esp + 0x20], 4
je 0x4f95d1
mov dword [0x7e42ec], 0x302221
cmp dword [esp + 0x40], 0
jne 0x4f960c
mov dword [0x7e42ec], 0x302223
mov dword [0x7e42ec], 0x302224
mov ebx, 1
mov dword [0x7e42ec], 0x302225
mov dword [0x7e42ec], 0x302227
lea edx, [esp + 0x68]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov eax, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043ebe0
sub esp, 0x10
sub eax, 1
je 0x4f9565
mov dword [0x7e42ec], 0x302228
mov dword [esp + 0x68], 0xffffffff
mov dword [0x7e42ec], 0x302229
lea edx, [esp + 0x68]
mov dword [esp + 0xc], edx
mov dword [esp + 8], ebx
mov eax, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043ebe0
sub esp, 0x10
mov dword [0x7e42ec], 0x30222a
mov dword [0x7e42ec], 0x30222b
mov dword [0x7e42ec], 0x30222c
xor eax, eax
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
jmp 0x4f95be
mov dword [0x7e42ec], 0x30221e
mov dword [0x7e42ec], 0x30221f
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, 9
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x302244
xor edx, edx
mov ebx, eax
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30222c
mov dword [0x7e42ec], 0x30222d
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ebx
mov dword [esp + 0x34], 1
mov dword [esp + 0x58], ebp
mov dword [esp + 0x104], edi
jmp 0x4f9eb1
mov dword [0x7e42ec], 0x302222
mov dword [0x7e42ec], 0x302223
or ebx, 0xffffffff
jmp 0x4f94f6
mov dword [0x7e42ec], 0x30222f
mov ecx, 7
lea edi, [esp + 0x6c]
xor eax, eax
rep stosd dword es:[edi], eax
lea edx, [esp + 0x88]
mov ecx, 7
mov edi, edx
rep stosd dword es:[edi], eax
lea ebp, [esp + 0xa8]
mov ecx, 0xe
mov edi, ebp
rep stosd dword es:[edi], eax
mov dword [0x7e42ec], 0x30143a
mov dword [0x7e42ec], 0x30143b
mov dword [0x7e42ec], 0x30143b
mov dword [0x7e42ec], 0x30143d
mov dword [0x7e42ec], 0x30143f
mov eax, dword [ebx + 0x4c]
mov dword [esp + 0x48], eax
mov dword [0x7e42ec], 0x301440
mov eax, dword [ebx + 0x40]
mov dword [0x7e42ec], 0x3010ba
mov dword [0x7e42ec], 0x3010bb
mov dword [0x7e42ec], 0x3010bb
test eax, eax
je 0x4f9860
mov dword [0x7e42ec], 0x3010bd
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov dword [esp + 0x4c], eax
lea edx, [esp + 0x88]
mov dword [0x7e42ec], 0x301444
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0x1c
mov dword [esp + 4], edx
lea eax, [ebx + 0x78]
mov dword [esp], eax
call fcn.0058c3a0
sub esp, 0x10
mov dword [0x7e42ec], 0x301445
xor edi, edi
mov dword [esp + 0xc], edi
mov dword [esp + 8], 0x1c
lea eax, [esp + 0x6c]
mov dword [esp + 4], eax
lea eax, [ebx + 0x40]
mov dword [esp], eax
call fcn.0058c3a0
sub esp, 0x10
mov dword [0x7e42ec], 0x301446
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489cf0
push edx
push edx
mov dword [esp + 0x88], eax
mov dword [0x7e42ec], 0x301448
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.00401520
push ecx
push ecx
test eax, eax
jne 0x4f97af
mov dword [0x7e42ec], 0x301449
mov eax, dword [ebx + 0x44]
mov dword [esp + 0xac], eax
mov dword [0x7e42ec], 0x30144a
mov dword [esp + 0xc8], eax
mov dword [0x7e42ec], 0x30144b
mov dword [0x7e42ec], 0x30144d
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821a2
push eax
mov dword [0x7e42ec], 0x30144e
mov eax, dword [ebx + 0x7c]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489cf0
push edx
push edx
mov ebp, eax
mov dword [0x7e42ec], 0x3010ba
mov dword [0x7e42ec], 0x3010bb
mov dword [0x7e42ec], 0x3010bb
test eax, eax
je 0x4f9826
mov dword [0x7e42ec], 0x3010bd
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00589cb0
push ebp
mov ebp, eax
mov dword [0x7e42ec], 0x30144f
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489cf0
push edi
push edi
mov dword [esp + 0x44], eax
test eax, eax
je 0x4f9c7c
xor ecx, ecx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x54], ebp
jmp 0x4f9a15
xor edi, edi
mov dword [esp + 0x4c], edi
jmp 0x4f96ec
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x301453
mov dword [0x7e42ec], 0x300aba
mov dword [0x7e42ec], 0x300abb
mov eax, dword [ebx + 0x40]
mov edi, eax
mov dword [esp + 0x50], eax
mov dword [0x7e42ec], 0x300abb
test eax, eax
je 0x4f99bf
mov dword [0x7e42ec], 0x300abd
mov dword [0x7e42ec], 0x300abe
mov dword [0x7e42ec], 0x300abf
mov dword [0x7e42ec], 0x300ac1
call fcn.0058d210
call fcn.0058d210
mov edi, dword [edi + 0xc]
call fcn.0058d170
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.00589a00
sub esp, 0x10
add dword [0x7eaa00], 2
call fcn.0058d1c0
mov dword [esp + 4], eax
mov dword [esp], 0x6fee44
call fcn.0058d110
mov edi, eax
test eax, eax
je 0x4f9aac
mov dword [0x7e42ec], 0x300ac2
mov dword [0x7e42ec], 0x300ac3
mov dword [0x7e42ec], 0x300ac8
mov dword [0x7e42ec], 0x300aca
mov ebp, 2
mov dword [0x7e42ec], 0x300acb
mov edi, dword [ebx + 0x44]
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push ecx
test eax, eax
je 0x4f9be2
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], ebp
mov dword [esp + 8], edi
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f9bec
xor edi, edi
add dword [esp + 0x44], edi
mov dword [0x7e42ec], 0x301454
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582168
push ebp
mov dword [0x7e42ec], 0x301455
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582279
push edx
add eax, 1
cmp eax, dword [esp + 0xc8]
jge 0x4f9c78
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821e8
push edi
test eax, eax
je 0x4f9c78
mov dword [0x7e42ec], 0x301450
mov dword [0x7e42ec], 0x301451
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005821a2
push edi
mov dword [0x7e42ec], 0x301452
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582279
push ebp
mov edi, eax
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
test eax, eax
je 0x4f986b
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
add edi, 1
mov dword [esp + 8], edi
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f9875
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esp + 0x50]
mov ebp, dword [eax + 0xc]
call fcn.0058d170
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], 1
mov dword [esp], ebp
call fcn.00589a00
sub esp, 0x10
add dword [0x7eaa00], 2
call fcn.0058d1c0
mov dword [esp + 4], eax
mov dword [esp], 0x6fea70
call fcn.0058d110
test eax, eax
je 0x4f9b9e
mov dword [0x7e42ec], 0x300ac4
mov ebp, dword [esp + 0x40]
cmp dword [esi + 0x30e], ebp
jl 0x4f9bb7
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esp + 0x50]
mov edx, dword [eax + 0xc]
mov dword [esp + 0x5c], edx
call fcn.0058d170
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov dword [esp + 4], ebp
mov edx, dword [esp + 0x5c]
mov dword [esp], edx
call fcn.00589a00
sub esp, 0x10
add dword [0x7eaa00], 2
call fcn.0058d1c0
mov dword [esp + 4], eax
mov dword [esp], 0x6fea70
call fcn.0058d110
mov dword [0x7e42ec], 0x300ac5
test eax, eax
je 0x4f9bc1
mov dword [0x7e42ec], 0x300ac6
add ebp, 1
mov dword [0x7e42ec], 0x300ac7
jmp 0x4f9b13
mov dword [0x7e42ec], 0x300ac8
mov dword [0x7e42ec], 0x300aca
jmp 0x4f9c5f
mov dword [0x7e42ec], 0x300ac5
mov dword [0x7e42ec], 0x300ac8
mov dword [0x7e42ec], 0x300aca
test ebp, ebp
je 0x4f9c5f
jmp 0x4f995a
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x300acc
mov eax, dword [ebx + 0x44]
mov dword [0x7e42ec], 0x30127f
mov dword [0x7e42ec], 0x301280
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov edi, dword [esp + 0x30]
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004a24a0
sub esp, 0x18
mov dword [0x7e42ec], 0x300acd
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
mov edi, eax
mov dword [0x7e42ec], 0x300ace
mov dword [0x7e42ec], 0x300ad0
jmp 0x4f99c1
mov ebp, dword [esp + 0x54]
mov dword [0x7e42ec], 0x301456
mov dword [0x7e42ec], 0x301458
mov eax, dword [esp + 0x6c]
mov dword [0x7e42ec], 0x3010ba
mov dword [0x7e42ec], 0x3010bb
mov dword [0x7e42ec], 0x3010bb
xor edi, edi
test eax, eax
je 0x4f9cd0
mov dword [0x7e42ec], 0x3010bd
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00589cb0
push ecx
mov edi, eax
mov edx, dword [esp + 0x70]
mov dword [esp + 0x50], edx
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
test eax, eax
je 0x4f9d3b
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, edi
mov ecx, dword [esp + 0x4c]
sub eax, ecx
mov ecx, dword [esp + 0x48]
add eax, ecx
mov dword [esp + 0xc], eax
mov edx, dword [esp + 0x50]
mov dword [esp + 8], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4f9d45
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x301459
mov edx, dword [esp + 0x8c]
cmp edx, dword [ebx + 0x44]
jne 0x4f9d6c
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x94]
je 0x4f9f67
mov dword [0x7e42ec], 0x30145b
mov dword [0x7e42ec], 0x30145c
mov eax, dword [esp + 0x88]
mov dword [0x7e42ec], 0x3010ba
mov dword [0x7e42ec], 0x3010bb
mov dword [0x7e42ec], 0x3010bb
test eax, eax
je 0x4f9f92
mov dword [0x7e42ec], 0x3010bd
mov eax, dword [eax + 0xc]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov edx, dword [esp + 0x8c]
sub eax, ebp
add eax, dword [esp + 0x94]
mov dword [0x7e42ec], 0x30127f
mov dword [0x7e42ec], 0x301280
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a24a0
sub esp, 0x18
mov dword [0x7e42ec], 0x30145d
mov dword [0x7e42ec], 0x30145e
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.00582168
push eax
mov dword [0x7e42ec], 0x301460
xor eax, eax
mov dword [esi + 0x2e6], eax
mov dword [0x7e42ec], 0x301461
cmp dword [esp + 0x44], 0
je 0x4f9e89
mov dword [0x7e42ec], 0x302230
mov eax, dword [esi + 0x21e]
mov edx, dword [eax + 0x4c]
mov dword [eax + 0x30], edx
mov dword [0x7e42ec], 0x302231
mov dword [0x7e42ec], 0x302232
xor ebp, ebp
mov dword [esp + 0x34], ebp
mov dword [esp + 0x38], ebp
mov dword [0x7e42ec], 0x302233
mov dword [0x7e42ec], 0x302234
mov dword [0x7e42ec], 0x30223e
mov dword [0x7e42ec], 0x30223f
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push ecx
test eax, eax
je 0x4fa005
mov dword [0x7e42ec], 0x30222d
mov dword [0x7e42ec], 0x30222e
mov ebx, dword [esi + 0x21e]
lea eax, [ebx + 8]
mov dword [esp + 0x30], eax
cmp dword [esp + 0x40], 0
jne 0x4f9628
mov dword [0x7e42ec], 0x302234
mov dword [0x7e42ec], 0x302235
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a5f20
push ecx
push ecx
test eax, eax
je 0x4f9f99
mov dword [0x7e42ec], 0x302236
mov eax, dword [esi + 0x21e]
mov edx, dword [eax + 0x4c]
mov dword [eax + 0x30], edx
mov dword [0x7e42ec], 0x302237
mov dword [0x7e42ec], 0x302238
mov dword [0x7e42ec], 0x302239
xor ebx, ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
mov dword [0x7e42ec], 0x30223d
jmp 0x4f9e9d
mov dword [0x7e42ec], 0x30145a
mov eax, dword [esp + 0x30]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0043eaf0
push ecx
push ecx
mov dword [0x7e42ec], 0x30145b
jmp 0x4f9e12
xor eax, eax
jmp 0x4f9dca
mov dword [0x7e42ec], 0x302239
mov dword [0x7e42ec], 0x30223a
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
mov dword [0x7e42ec], 0x30223b
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a1a80
push edi
push edi
mov dword [0x7e42ec], 0x30223c
mov dword [esp + 0x38], 1
jmp 0x4f9f58
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x104]
mov dword [0x7e42ec], 0x302241
cmp dword [esp + 0x40], 0
je 0x4fa031
mov dword [0x7e42ec], 0x302242
xor edx, edx
mov dword [esp + 0x20], edx
mov dword [0x7e42ec], 0x302243
xor ebx, ebx
mov dword [esp + 0x30], ebx
jmp 0x4f95be
mov dword [0x7e42ec], 0x302248
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
push ecx
test eax, eax
jne 0x4fa214
mov dword [0x7e42ec], 0x30226e
mov dword [0x7e42ec], 0x302270
mov dword [0x7e42ec], 0x302272
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005822bf
push ecx
mov edx, eax
cmp eax, 1
jne 0x4fa503
mov dword [0x7e42ec], 0x302273
jmp 0x4fa505
mov dword [0x7e42ec], 0x30225a
mov dword [0x7e42ec], 0x30225c
mov ecx, dword [esp + 0x2c]
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
test eax, eax
je 0x4fa281
mov dword [0x7e42ec], 0x302269
jmp 0x4fa1e9
mov dword [0x7e42ec], 0x30224e
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov edx, dword [edx + 0x44]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x30224f
mov dword [0x7e42ec], 0x302251
mov dword [0x7e42ec], 0x302253
mov eax, dword [esi + 0x222]
mov dword [esp + 0x14], 1
xor edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [eax + 0x28]
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2800
sub esp, 0x18
mov dword [0x7e42ec], 0x302254
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
test eax, eax
je 0x4fa1c5
mov dword [0x7e42ec], 0x302255
mov eax, dword [esi + 0x21e]
mov dword [eax + 0x28], 0xffffffff
mov dword [0x7e42ec], 0x302256
mov dword [0x7e42ec], 0x302258
mov dword [0x7e42ec], 0x30225a
xor eax, eax
mov dword [esp + 0x20], eax
mov dword [0x7e42ec], 0x30226b
mov dword [0x7e42ec], 0x30226d
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.0058224e
push edx
test eax, eax
je 0x4fa067
mov dword [0x7e42ec], 0x302249
mov dword [0x7e42ec], 0x30224b
mov edx, dword [esi + 0x21e]
lea eax, [edx + 8]
test byte [esp + 0x20], 4
je 0x4fa0ae
mov dword [0x7e42ec], 0x30224d
test byte [esp + 0x20], 1
jne 0x4fa0f0
mov dword [0x7e42ec], 0x30224f
mov dword [0x7e42ec], 0x302250
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00490020
sub esp, 0xc
jmp 0x4fa132
mov dword [0x7e42ec], 0x30225d
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x3010e6
mov dword [0x7e42ec], 0x3010e7
mov edx, dword [eax + 0x4c]
cmp dword [eax + 0x40], 0
mov dword [0x7e42ec], 0x3010e7
je 0x4fa2df
mov dword [0x7e42ec], 0x3010e9
sub edx, 1
jle 0x4fa3df
mov dword [0x7e42ec], 0x3010ed
mov dword [0x7e42ec], 0x3010ef
mov dword [0x7e42ec], 0x30225e
mov ecx, dword [eax + 0x4c]
lea edx, [ecx - 1]
mov dword [esp + 4], edx
mov eax, dword [eax + 0x40]
mov dword [esp], eax
call fcn.00488cc0
push ecx
push ecx
mov dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x30225f
mov eax, dword [esi + 0x21e]
mov ecx, dword [eax + 0x4c]
mov dword [esp + 4], ecx
mov eax, dword [eax + 0x40]
mov dword [esp], eax
call fcn.00488cc0
push edx
push edx
mov dword [0x7e42ec], 0x302260
test byte [esi + 0x367], 0x20
je 0x4fa351
mov edx, dword [esp + 0x30]
cmp edx, 0x28
jne 0x4fa45a
cmp eax, 0x29
je 0x4fa46c
mov dword [0x7e42ec], 0x302263
mov dword [0x7e42ec], 0x302264
mov eax, dword [esi + 0x21e]
mov dword [esp + 0x14], 1
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov ecx, dword [eax + 0x4c]
lea edx, [ecx - 1]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2800
sub esp, 0x18
mov dword [0x7e42ec], 0x302265
mov dword [0x7e42ec], 0x302267
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
mov dword [0x7e42ec], 0x302268
jmp 0x4fa0e1
lea edx, [eax + 8]
mov dword [0x7e42ec], 0x3010ea
mov dword [esp + 0xc], 0xffffffff
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp + 0x30], edx
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
test eax, eax
mov edx, dword [esp + 0x30]
jne 0x4fa42a
mov dword [0x7e42ec], 0x3010ec
mov eax, dword [esi + 0x21e]
jmp 0x4fa2cb
mov dword [0x7e42ec], 0x3010eb
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.004a4d10
sub esp, 0xc
test eax, eax
jne 0x4fa3d0
mov eax, dword [esi + 0x21e]
jmp 0x4fa2df
cmp edx, 0x5b
jne 0x4fa4ec
cmp eax, 0x5d
jne 0x4fa351
mov dword [0x7e42ec], 0x302261
mov dword [esp + 0xc], 0xffffffff
xor eax, eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x302262
mov eax, dword [esi + 0x21e]
mov dword [esp + 0x14], 1
xor edx, edx
mov dword [esp + 0x10], edx
mov ecx, dword [eax + 0x4c]
lea edx, [ecx + 2]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2800
sub esp, 0x18
mov dword [0x7e42ec], 0x302263
jmp 0x4fa39c
cmp eax, 0x7d
jne 0x4fa351
cmp edx, 0x7b
jne 0x4fa351
jmp 0x4fa46c
xor edx, edx
mov dword [0x7e42ec], 0x302274
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302278
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
push edx
test eax, eax
je 0x4fa551
mov eax, dword [esp + 0x20]
and eax, 4
mov dword [esp + 0x30], eax
jmp 0x4fa69a
mov dword [0x7e42ec], 0x302287
xor eax, eax
mov dword [esp + 0x30], eax
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x30227b
mov dword [esp + 0x10], 1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov edx, dword [eax + 0x4c]
mov dword [esp + 8], edx
mov eax, dword [eax + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0046ef70
sub esp, 0x14
test eax, eax
jne 0x4fa5ba
mov dword [0x7e42ec], 0x30227d
jmp 0x4fa6b9
mov dword [0x7e42ec], 0x30227c
mov eax, dword [esi + 0x21e]
mov ecx, dword [esi + 0xde]
mov dword [esp + 0x14], 1
xor edx, edx
mov dword [esp + 0x10], edx
mov edx, dword [ecx + 9]
add edx, dword [ecx + 1]
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2800
sub esp, 0x18
jmp 0x4fa5ab
add edx, 1
mov dword [0x7e42ec], 0x300676
mov dword [esp + 0x14], 1
xor ecx, ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a2800
sub esp, 0x18
mov dword [0x7e42ec], 0x302283
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
mov dword [0x7e42ec], 0x302284
mov dword [0x7e42ec], 0x302285
mov dword [0x7e42ec], 0x302286
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.0058224e
push ecx
test eax, eax
je 0x4fa551
mov dword [0x7e42ec], 0x302279
mov dword [0x7e42ec], 0x30227a
cmp dword [esp + 0x30], 0
jne 0x4fa570
mov dword [0x7e42ec], 0x30227e
mov dword [0x7e42ec], 0x302280
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov ecx, dword [esi + 0x21e]
lea eax, [ecx + 8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
test eax, eax
jne 0x4fa66f
mov dword [0x7e42ec], 0x302281
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a4d10
sub esp, 0xc
test eax, eax
jne 0x4fa665
mov dword [0x7e42ec], 0x302282
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x40]
mov dword [esp], eax
call fcn.0043f230
push edx
mov ecx, eax
mov eax, dword [esi + 0x21e]
mov edx, dword [eax + 0x4c]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp edx, ecx
jl 0x4fa603
lea edx, [ecx + 1]
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
jmp 0x4fa610
mov dword [0x7e42ec], 0x30228b
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
push edx
test eax, eax
jne 0x4fa7ff
mov dword [0x7e42ec], 0x30228f
mov dword [0x7e42ec], 0x302290
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.0048acf0
sub esp, 0xc
mov dword [0x7e42ec], 0x302292
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
push ecx
test eax, eax
je 0x4fa860
mov eax, dword [esp + 0x20]
and eax, 4
mov dword [esp + 0x30], eax
jmp 0x4fa98d
mov dword [0x7e42ec], 0x30228c
mov dword [0x7e42ec], 0x30228d
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
mov dword [0x7e42ec], 0x30098b
mov dword [0x7e42ec], 0x30098c
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004846a0
push ecx
push ecx
mov dword [0x7e42ec], 0x30228e
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.0058224e
push edx
test eax, eax
jne 0x4fa7ff
jmp 0x4fa7a3
mov dword [0x7e42ec], 0x3022a3
mov dword [0x7e42ec], 0x3022a5
mov dword [0x7e42ec], 0x3022a6
xor edx, edx
mov dword [esp + 0x30], 1
mov dword [esp + 0x34], 1
mov dword [esp + 0x38], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30229a
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00490a00
push eax
push eax
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x30229b
mov dword [0x7e42ec], 0x30229c
mov eax, dword [eax + 0x40]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00490a00
push eax
push eax
mov dword [0x7e42ec], 0x30229d
mov dword [0x7e42ec], 0x30229f
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
mov edx, dword [esi + 0x306]
mov dword [esp + 0x10], edx
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
sub eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a4ed0
sub esp, 0x14
mov edx, eax
mov dword [0x7e42ec], 0x3022a0
mov eax, dword [esi + 0x21e]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x3022a1
mov dword [0x7e42ec], 0x3022a2
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.0058224e
push edx
test eax, eax
je 0x4fa860
mov dword [0x7e42ec], 0x302293
mov dword [0x7e42ec], 0x302294
mov eax, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov edx, dword [esi + 0x21e]
lea eax, [edx + 8]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00496390
sub esp, 0xc
mov dword [0x7e42ec], 0x302295
mov eax, dword [esi + 0x21e]
mov edx, dword [eax + 0x40]
mov dword [esp + 0x34], edx
mov dword [0x7e42ec], 0x302297
mov eax, dword [esi + 0x31a]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x10], 0xf
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x31a]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00494da0
sub esp, 0x18
test eax, eax
je 0x4fa962
mov dword [0x7e42ec], 0x302298
cmp dword [esp + 0x30], 0
jne 0x4fa8e0
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x302299
mov edx, dword [esp + 0x34]
cmp dword [eax + 0x40], edx
jne 0x4fa89d
jmp 0x4fa8bb
mov dword [0x7e42ec], 0x3022aa
test byte [esp + 0x20], 4
jne 0x4faa9f
mov dword [0x7e42ec], 0x3022ac
mov dword [0x7e42ec], 0x3022ad
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
jmp 0x4fab65
mov dword [0x7e42ec], 0x3022ab
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], 1
mov eax, dword [esi + 0x222]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x3022ac
mov dword [0x7e42ec], 0x3022b0
xor eax, eax
mov dword [esp + 0x30], eax
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
xor edx, edx
jmp 0x4fab2e
mov dword [0x7e42ec], 0x3010b5
mov dword [0x7e42ec], 0x3010b6
mov dword [0x7e42ec], 0x3010b7
mov edx, 1
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x3022af
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
je 0x4faae8
mov dword [0x7e42ec], 0x3022ad
mov dword [0x7e42ec], 0x3022ae
mov eax, dword [esi + 0x21e]
mov edx, dword [eax + 0x40]
mov ecx, dword [eax + 0x4c]
mov dword [0x7e42ec], 0x3010af
mov dword [0x7e42ec], 0x3010b0
mov dword [0x7e42ec], 0x3010b0
test edx, edx
je 0x4fab07
mov dword [0x7e42ec], 0x3010b2
cmp dword [edx + 0x1c], 0
je 0x4fab15
mov dword [0x7e42ec], 0x3010b3
mov edx, dword [edx + 8]
cmp byte [edx + 0xd], 1
jne 0x4fab0b
mov edx, dword [edx + 0x16]
add edx, 1
cmp ecx, edx
je 0x4fab0b
mov dword [0x7e42ec], 0x3010b4
jmp 0x4fab2e
mov dword [0x7e42ec], 0x3022b4
test byte [esp + 0x20], 4
jne 0x4fac43
mov dword [0x7e42ec], 0x3022b6
mov dword [0x7e42ec], 0x3022b7
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
jmp 0x4fad1e
mov dword [0x7e42ec], 0x3022b5
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
add eax, 1
mov dword [esp + 8], eax
mov eax, dword [esi + 0x222]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x3022b6
mov dword [0x7e42ec], 0x3022ba
xor eax, eax
mov dword [esp + 0x30], eax
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x3022b7
mov dword [0x7e42ec], 0x3022b8
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x40]
mov dword [esp], eax
call fcn.0043f230
push ecx
mov edx, eax
mov eax, dword [esi + 0x21e]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
add edx, 1
mov dword [esp + 0xc], edx
mov edx, dword [eax + 0x44]
mov dword [esp + 8], edx
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048ff80
sub esp, 0x18
mov dword [0x7e42ec], 0x3022b9
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
jne 0x4facb6
jmp 0x4fac97
mov dword [0x7e42ec], 0x3022be
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
xor ebx, ebx
mov dword [esp + 0x30], ebx
mov eax, dword [esp + 0x20]
mov ebx, eax
and ebx, 4
and eax, 2
mov dword [esp + 0x2c], eax
jmp 0x4fae0b
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp], eax
call fcn.004011b0
push edx
test eax, eax
je 0x4fae41
mov dword [0x7e42ec], 0x3022c0
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a4330
push eax
push eax
mov dword [0x7e42ec], 0x3022c1
mov dword [0x7e42ec], 0x3022c3
mov dword [esp + 0x38], 1
jmp 0x4fadf7
mov dword [0x7e42ec], 0x3022c4
mov dword [esp + 8], 0xffffffff
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00490020
sub esp, 0xc
mov dword [0x7e42ec], 0x3022c5
mov dword [0x7e42ec], 0x3022c8
mov dword [0x7e42ec], 0x3022c9
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
je 0x4fb1b1
mov dword [0x7e42ec], 0x3022be
mov dword [0x7e42ec], 0x3022bf
cmp dword [esp + 0x40], 0
je 0x4fad6a
test ebx, ebx
jne 0x4fadc3
cmp dword [esp + 0x2c], 0
jne 0x4fadf7
mov dword [0x7e42ec], 0x3022c6
mov dword [esp + 0xc], 0xffffffff
xor ecx, ecx
mov dword [esp + 8], ecx
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x3022c7
mov dword [esp + 0x30], 1
jmp 0x4fadf7
mov dword [0x7e42ec], 0x3022cd
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ebx
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x20]
mov ebx, eax
and ebx, 4
mov dword [esp + 0x2c], ebx
and eax, 2
mov dword [esp + 0x34], eax
mov dword [esp + 0x104], edi
jmp 0x4fb0fe
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp], eax
call fcn.004011b0
push edx
test eax, eax
je 0x4fb14d
mov dword [0x7e42ec], 0x3022d0
mov eax, dword [esi + 0x21e]
lea ebx, [eax + 8]
lea edi, [esp + 0xa8]
mov ecx, 0xe
mov eax, dword [esp + 0x40]
rep stosd dword es:[edi], eax
mov dword [0x7e42ec], 0x301726
mov dword [0x7e42ec], 0x301727
mov dword [0x7e42ec], 0x301727
mov dword [0x7e42ec], 0x30172b
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821a2
push ecx
mov dword [0x7e42ec], 0x30172c
lea eax, [esp + 0xa8]
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00401520
push edi
push edi
test eax, eax
jne 0x4fafbd
mov dword [0x7e42ec], 0x301730
mov dword [0x7e42ec], 0x301731
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582168
push eax
mov dword [0x7e42ec], 0x301732
mov dword [0x7e42ec], 0x3022d1
mov dword [0x7e42ec], 0x3022d3
mov dword [esp + 0x38], 1
jmp 0x4fb0d1
mov dword [0x7e42ec], 0x30172d
mov ecx, dword [esp + 0xd0]
mov dword [esp + 0x38], ecx
mov edi, dword [esp + 0xc8]
mov dword [0x7e42ec], 0x3016d0
mov dword [0x7e42ec], 0x3016d1
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822bf
push edx
test eax, eax
je 0x4fb02a
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov ecx, dword [esp + 0x38]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.0048fc40
sub esp, 0x18
jmp 0x4fb034
mov dword [0x7e42ec], 0x3016d1
mov dword [0x7e42ec], 0x30172e
mov dword [0x7e42ec], 0x30127f
mov dword [0x7e42ec], 0x301280
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, dword [esp + 0xb4]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], esi
call fcn.004a24a0
sub esp, 0x18
mov dword [0x7e42ec], 0x30172f
or dword [esi + 0x2ee], 2
jmp 0x4faf6f
mov dword [0x7e42ec], 0x3022d4
mov dword [esp + 8], 1
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00490020
sub esp, 0xc
mov dword [0x7e42ec], 0x3022d5
mov dword [0x7e42ec], 0x3022d8
mov dword [0x7e42ec], 0x3022d9
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582168
push ebx
mov dword [0x7e42ec], 0x3022da
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push ecx
test eax, eax
je 0x4fb1aa
mov dword [0x7e42ec], 0x3022cd
mov dword [0x7e42ec], 0x3022ce
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821a2
push ecx
mov dword [0x7e42ec], 0x3022cf
cmp dword [esp + 0x40], 0
je 0x4faed6
cmp dword [esp + 0x2c], 0
jne 0x4fb09d
cmp dword [esp + 0x34], 0
jne 0x4fb0d1
mov dword [0x7e42ec], 0x3022d6
mov dword [esp + 0xc], 1
xor edi, edi
mov dword [esp + 8], edi
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x3022d7
mov dword [esp + 0x30], 1
jmp 0x4fb0d1
mov edi, dword [esp + 0x104]
mov dword [0x7e42ec], 0x302344
xor eax, eax
mov dword [esp + 0x2c], eax
mov eax, 1
mov dword [esp + 0x34], 1
xor edx, edx
mov ebx, dword [esp + 0x2c]
jmp 0x4f7d9d
mov dword [0x7e42ec], 0x3022de
cmp byte [esi + 0xd8], 0
jne 0x4fb25c
mov dword [0x7e42ec], 0x3022e1
mov dword [0x7e42ec], 0x3022e2
mov eax, dword [esp + 0x20]
and eax, 4
mov dword [esp + 0x30], eax
je 0x4fb2aa
mov dword [0x7e42ec], 0x3022e3
test byte [esp + 0x20], 2
jne 0x4fb2d2
cmp dword [esp + 0x40], 0
je 0x4fb3c3
mov dword [0x7e42ec], 0x3022eb
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.004f5350
push eax
push eax
mov dword [0x7e42ec], 0x3022ec
jmp 0x4fb408
mov dword [0x7e42ec], 0x3022df
mov dword [0x7e42ec], 0x3022e0
mov dword [0x7e42ec], 0x3022e1
xor eax, eax
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [0x7e42ec], 0x3022f4
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x24], eax
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x3022ef
mov dword [0x7e42ec], 0x3022f0
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push eax
jmp 0x4fb484
mov dword [0x7e42ec], 0x3022e4
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005824ac
push ecx
test eax, eax
jne 0x4fb308
mov dword [0x7e42ec], 0x3022e9
mov dword [0x7e42ec], 0x3022ea
jmp 0x4fb408
mov dword [0x7e42ec], 0x3022e5
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
sub eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489cf0
push edx
push edx
mov edx, dword [esi + 0x226]
mov edx, dword [edx + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048c120
sub esp, 0xc
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
sub eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a0930
sub esp, 0x14
mov dword [0x7e42ec], 0x3022e6
test eax, eax
jne 0x4fb394
mov dword [0x7e42ec], 0x3022e8
jmp 0x4fb2ef
mov dword [0x7e42ec], 0x3022e7
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00497770
sub esp, 0x14
jmp 0x4fb385
mov dword [0x7e42ec], 0x3022ec
mov dword [0x7e42ec], 0x3022ed
mov dword [esp + 0x14], 1
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x30]
sub eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x222]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004901a0
sub esp, 0x18
mov dword [0x7e42ec], 0x3022ee
mov dword [0x7e42ec], 0x3022ef
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x3022f3
mov eax, 0x26
xor ecx, ecx
mov dword [esp + 0x24], ecx
jmp 0x4fb282
mov dword [0x7e42ec], 0x3022f0
mov dword [0x7e42ec], 0x3022f1
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 8], 0xffffffff
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
add dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x3022f2
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
jne 0x4fb43c
jmp 0x4fb422
mov dword [0x7e42ec], 0x3022f8
cmp byte [esi + 0xd8], 0
jne 0x4fb51c
mov dword [0x7e42ec], 0x3022fb
mov dword [0x7e42ec], 0x3022fc
mov eax, dword [esp + 0x20]
and eax, 4
mov dword [esp + 0x30], eax
je 0x4fb551
mov dword [0x7e42ec], 0x3022fd
test byte [esp + 0x20], 2
jne 0x4fb579
cmp dword [esp + 0x40], 0
je 0x4fb66a
mov dword [0x7e42ec], 0x302305
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.004f5350
push eax
push eax
mov dword [0x7e42ec], 0x302306
jmp 0x4fb6af
mov dword [0x7e42ec], 0x3022f9
mov dword [0x7e42ec], 0x3022fa
mov dword [0x7e42ec], 0x3022fb
xor eax, eax
xor edx, edx
mov dword [esp + 0x30], edx
mov dword [0x7e42ec], 0x30230e
jmp 0x4fb28c
mov dword [0x7e42ec], 0x302309
mov dword [0x7e42ec], 0x30230a
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push eax
jmp 0x4fb72b
mov dword [0x7e42ec], 0x3022fe
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.00582223
push ecx
test eax, eax
jne 0x4fb5af
mov dword [0x7e42ec], 0x302303
mov dword [0x7e42ec], 0x302304
jmp 0x4fb6af
mov dword [0x7e42ec], 0x3022ff
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489cf0
push edx
push edx
mov edx, dword [esi + 0x226]
mov edx, dword [edx + 0x48]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048c120
sub esp, 0xc
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 1
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
mov eax, dword [eax + 0x44]
add eax, 1
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a0930
sub esp, 0x14
mov dword [0x7e42ec], 0x302300
test eax, eax
jne 0x4fb63b
mov dword [0x7e42ec], 0x302302
jmp 0x4fb596
mov dword [0x7e42ec], 0x302301
mov dword [esp + 0x10], 0xffffffff
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.00497770
sub esp, 0x14
jmp 0x4fb62c
mov dword [0x7e42ec], 0x302306
mov dword [0x7e42ec], 0x302307
mov dword [esp + 0x14], 1
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x30]
add eax, 1
mov dword [esp + 0xc], eax
mov eax, dword [esi + 0x222]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004901a0
sub esp, 0x18
mov dword [0x7e42ec], 0x302308
mov dword [0x7e42ec], 0x302309
xor eax, eax
mov dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x30230d
mov eax, 0x28
xor edx, edx
mov dword [esp + 0x24], edx
jmp 0x4fb542
mov dword [0x7e42ec], 0x30230a
mov dword [0x7e42ec], 0x30230b
xor eax, eax
mov dword [esp + 0xc], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
add dword [esp + 0x30], eax
mov dword [0x7e42ec], 0x30230c
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push ecx
test eax, eax
jne 0x4fb6e3
jmp 0x4fb6c9
mov dword [0x7e42ec], 0x302312
cmp byte [esi + 0xd8], 0
je 0x4fb7a1
mov dword [0x7e42ec], 0x302313
mov dword [0x7e42ec], 0x302314
mov dword [0x7e42ec], 0x302315
mov dword [esp + 0x2c], 0x21
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [0x7e42ec], 0x30231c
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x302315
mov dword [0x7e42ec], 0x302316
mov dword [esp], esi
call fcn.0048b550
push edx
mov edx, dword [esi + 0x222]
mov edx, dword [edx + 0x40]
sub edx, eax
mov dword [esp + 0x30], edx
mov dword [0x7e42ec], 0x302317
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
jmp 0x4fb82d
mov dword [0x7e42ec], 0x302317
mov dword [0x7e42ec], 0x302318
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, dword [edi + 0x20]
neg eax
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x302319
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
jne 0x4fb7e8
mov dword [esp + 0x2c], eax
mov dword [0x7e42ec], 0x30231b
mov edx, dword [esi + 0x222]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x30]
sub eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004901a0
sub esp, 0x18
jmp 0x4fb77f
mov dword [0x7e42ec], 0x302320
cmp byte [esi + 0xd8], 0
je 0x4fb8ea
mov dword [0x7e42ec], 0x302321
mov dword [0x7e42ec], 0x302322
mov dword [0x7e42ec], 0x302323
mov dword [esp + 0x2c], 0x22
xor eax, eax
mov dword [esp + 0x24], eax
mov dword [0x7e42ec], 0x30232a
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, 1
mov dword [esp + 0x34], 1
jmp 0x4f848c
mov dword [0x7e42ec], 0x302323
mov dword [0x7e42ec], 0x302324
mov dword [esp], esi
call fcn.0048b550
push edx
mov edx, dword [esi + 0x222]
mov edx, dword [edx + 0x40]
sub edx, eax
mov dword [esp + 0x30], edx
mov dword [0x7e42ec], 0x302325
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
push ecx
jmp 0x4fb974
mov dword [0x7e42ec], 0x302325
mov dword [0x7e42ec], 0x302326
xor ecx, ecx
mov dword [esp + 0xc], ecx
mov eax, dword [edi + 0x20]
mov dword [esp + 8], eax
mov eax, dword [esi + 0x21e]
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a6e00
sub esp, 0x10
mov dword [0x7e42ec], 0x302327
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
jne 0x4fb931
mov dword [esp + 0x2c], eax
mov dword [0x7e42ec], 0x302329
mov edx, dword [esi + 0x222]
mov dword [esp + 0x14], 1
mov dword [esp + 0x10], 1
mov eax, dword [edx + 0x40]
mov ecx, dword [esp + 0x30]
sub eax, ecx
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004901a0
sub esp, 0x18
jmp 0x4fb8c8
mov dword [0x7e42ec], 0x30232e
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 4
je 0x4fba00
mov dword [0x7e42ec], 0x302330
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30232f
mov dword [esp + 8], 1
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004abf30
sub esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x4fb9e7
mov dword [0x7e42ec], 0x302334
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 4
je 0x4fba57
mov dword [0x7e42ec], 0x302336
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302335
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004abf30
sub esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x4fba3e
mov dword [0x7e42ec], 0x30233a
xor eax, eax
mov dword [esp + 0x30], eax
cmp dword [esp + 0x20], 4
je 0x4fbab8
mov dword [0x7e42ec], 0x30233c
mov dword [0x7e42ec], 0x30233e
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x30233b
xor ecx, ecx
mov dword [esp + 8], ecx
mov dword [esp + 4], edi
mov dword [esp], esi
call fcn.004abf30
sub esp, 0xc
mov dword [esp + 0x30], eax
jmp 0x4fba95
mov dword [0x7e42ec], 0x302354
mov ecx, dword [eax + 0x7c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], edx
mov eax, dword [eax + 0x44]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov dword [esp], esi
call fcn.00495f50
sub esp, 0x14
mov dword [0x7e42ec], 0x302355
jmp 0x4f85b0
mov dword [0x7e42ec], 0x300761
mov dword [0x7e42ec], 0x302361
mov dword [esp + 8], 1
add eax, 8
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004a1d10
sub esp, 0xc
mov dword [0x7e42ec], 0x302362
mov dword [0x7e42ec], 0x302363
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4fbbf0
mov dword [0x7e42ec], 0x30235f
mov dword [0x7e42ec], 0x302360
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x30075d
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x300760
mov ecx, dword [eax + 0x44]
cmp dword [eax + 0x28], ecx
jne 0x4fbb20
mov ecx, dword [eax + 0x4c]
cmp dword [eax + 0x30], ecx
jne 0x4fbb20
mov dword [0x7e42ec], 0x300762
mov dword [0x7e42ec], 0x300764
jmp 0x4fbb4e
mov ebp, eax
mov dword [0x7e42ec], 0x302365
mov ecx, dword [esi + 0x222]
test ecx, ecx
je 0x4fbce8
mov dword [0x7e42ec], 0x302366
mov eax, dword [ecx + 0x1c]
cmp dword [ecx + 0x38], eax
je 0x4fbcf4
mov dword [0x7e42ec], 0x302367
mov eax, 1
mov dword [0x7e42ec], 0x302368
mov dword [esp + 0x38], ecx
mov dword [0x7e42ec], 0x302369
mov dword [0x7e42ec], 0x30236b
mov edx, dword [esi + 0x366]
test dh, 0x10
je 0x4fbc64
test al, al
je 0x4fbd00
mov dword [0x7e42ec], 0x30236d
mov dword [0x7e42ec], 0x30236f
cmp byte [esi + 0xd8], 0
je 0x4fcb71
mov dword [0x7e42ec], 0x302370
mov eax, dword [esp + 0x2c]
cmp eax, 0x26
je 0x4fcb40
cmp eax, 0x28
je 0x4fccc6
cmp dword [esp + 0x2c], 0x21
je 0x4fccf2
cmp dword [esp + 0x2c], 0x22
je 0x4fcd22
cmp dword [esp + 0x2c], 9
je 0x4fcd50
test ebp, ebp
jne 0x4fcb67
mov dword [0x7e42ec], 0x30237b
mov dword [esp], esi
call fcn.004abe80
sub esp, 4
jmp 0x4fcb67
test ebx, ebx
sete al
mov ebp, ebx
jmp 0x4fbc39
test ebx, ebx
sete al
mov ebp, ebx
jmp 0x4fbc2f
mov dword [0x7e42ec], 0x30236c
mov dword [esp + 0x6c], 0
mov dword [0x7e42ec], 0x301a91
mov dword [0x7e42ec], 0x301a92
sar edx, 0x15
mov ebx, edx
mov dword [0x7e42ec], 0x301a92
and ebx, 1
jne 0x4fbee0
mov dword [0x7e42ec], 0x301a94
mov eax, dword [esi + 4]
mov dword [esp + 0x48], eax
mov dword [0x7e42ec], 0x301a95
mov dword [0x7e42ec], 0x301a9b
mov dword [0x7e42ec], 0x301a9d
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.0058244e
sub esp, 4
mov dword [0x7e42ec], 0x301a9f
lea eax, [esi + 0xc4]
mov dword [esp + 0x44], eax
mov dword [esp + 4], 0x7e435c
mov dword [esp], eax
call fcn.0058d080
sub esp, 8
mov dword [0x7e42ec], 0x301aa1
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x4fbef2
mov dword [0x7e42ec], 0x301aa3
mov dword [0x7e42ec], 0x301aa5
mov eax, dword [ecx + 0x44]
sub eax, 1
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x38], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0046f220
sub esp, 0xc
mov dword [esp + 0x4c], 1
test eax, eax
mov ecx, dword [esp + 0x38]
je 0x4fbe0f
mov dword [0x7e42ec], 0x301aa6
xor eax, eax
mov dword [esp + 0x4c], eax
mov dword [0x7e42ec], 0x301aa7
mov dword [0x7e42ec], 0x301aa9
mov dword [esp + 0x10], 1
mov dword [esp + 0xc], 0
mov eax, dword [ecx + 0x44]
sub eax, 1
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x50], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0046ef70
sub esp, 0x14
mov dword [esp + 0x38], eax
test eax, eax
mov ecx, dword [esp + 0x50]
jne 0x4fbf02
mov dword [0x7e42ec], 0x301abf
mov dword [0x7e42ec], 0x301ac1
mov eax, dword [esp + 0x38]
cmp dword [esi + 0xc8], eax
jg 0x4fc13f
mov dword [0x7e42ec], 0x301ac4
mov dword [0x7e42ec], 0x301ac6
cmp dword [esp + 0x4c], 0
jne 0x4fc165
mov dword [esp + 0x44], ecx
mov dword [0x7e42ec], 0x301ada
mov dword [0x7e42ec], 0x301adc
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.00576a7d
push eax
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x104], edi
jmp 0x4fc467
xor eax, eax
mov dword [esp], eax
call fcn.0058d2e0
sub esp, 4
jmp 0x4fbc64
mov dword [0x7e42ec], 0x301aa2
mov eax, dword [esp + 0x6c]
jmp 0x4fbee2
mov dword [0x7e42ec], 0x301aaa
mov eax, dword [esi + 0xde]
mov dword [esp + 0x38], eax
mov dword [0x7e42ec], 0x301aac
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.0040a380
sub esp, 0xc
test eax, eax
mov ecx, dword [esp + 0x50]
je 0x4fbf7d
mov dword [0x7e42ec], 0x301aad
mov eax, dword [esi + 0xde]
mov dword [0x7e42ec], 0x301ab1
movzx edx, byte [eax]
test dl, dl
jne 0x4fc0ec
mov eax, dword [eax + 5]
cmp word [eax], 0x23
je 0x4fc0ae
mov dword [0x7e42ec], 0x301ab7
mov dword [0x7e42ec], 0x301ab8
mov dword [0x7e42ec], 0x301aba
mov eax, dword [esp + 0x38]
test byte [eax], 0xfd
jne 0x4fc09b
mov dword [esp + 0x50], ecx
mov dword [0x7e42ec], 0x301abb
call fcn.0058d210
mov eax, dword [esi + 0xc4]
mov dword [esp], eax
call fcn.0058d230
push eax
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
call fcn.0058d170
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00440340
push eax
push eax
call fcn.0058d1f0
mov dword [esp + 0x54], eax
mov ecx, dword [esp + 0x50]
mov ebx, dword [ecx + 0x44]
mov eax, dword [esp + 0x38]
sub ebx, dword [eax + 1]
call fcn.0058d170
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x54]
mov dword [esp], edx
call fcn.00589ce0
sub esp, 0xc
call fcn.0058d170
call fcn.0058d170
mov dword [esp + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.0058d280
push eax
push eax
mov dword [0x7e42ec], 0x301abc
call fcn.0058d210
call fcn.0058d210
mov ebx, dword [esi + 0xc4]
call fcn.0058d170
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00589d70
push eax
push eax
call fcn.0058d170
mov dword [esp + 4], eax
lea eax, [esp + 0x6c]
mov dword [esp], eax
call fcn.0058d280
push edx
push edx
mov dword [0x7e42ec], 0x301abd
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.00589cb0
push ecx
mov ebx, eax
mov ecx, dword [esp + 0x50]
mov dword [0x7e42ec], 0x301abe
mov dword [esp + 0x38], ebx
jmp 0x4fbe63
mov dword [esp + 0x4c], ecx
mov dword [0x7e42ec], 0x301ab2
mov dword [0x7e42ec], 0x301ab3
mov dword [esp + 4], 0x6fe89c
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.0058d080
push eax
push eax
mov dword [0x7e42ec], 0x301ab4
mov ecx, dword [esp + 0x4c]
jmp 0x4fc134
cmp dl, 4
jne 0x4fbf73
mov eax, dword [eax + 5]
cmp word [eax], 0x2a
jne 0x4fbf73
mov dword [esp + 0x4c], ecx
mov dword [0x7e42ec], 0x301ab5
mov dword [0x7e42ec], 0x301ab6
mov dword [esp + 4], 0x6fe414
mov eax, dword [esp + 0x44]
mov dword [esp], eax
call fcn.0058d080
push eax
push eax
mov ecx, dword [esp + 0x4c]
xor eax, eax
mov dword [esp + 0x4c], eax
jmp 0x4fbf73
mov dword [0x7e42ec], 0x301ac2
mov dword [esp], esi
call fcn.004abe80
push ebx
mov dword [0x7e42ec], 0x301ac3
mov eax, dword [esp + 0x6c]
jmp 0x4fbee2
mov dword [esp + 0x44], ecx
mov dword [0x7e42ec], 0x301ac7
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call fcn.00576a7d
push ecx
mov ebx, dword [esp + 0x44]
jmp 0x4fc1d2
mov dword [0x7e42ec], 0x301ac9
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00589cb0
push edx
cmp dword [esp + 0x38], eax
jl 0x4fc286
mov dword [0x7e42ec], 0x301ad0
mov dword [0x7e42ec], 0x301ad1
mov dword [0x7e42ec], 0x301ad8
mov dword [0x7e42ec], 0x301ad9
mov eax, dword [esi + 0x28]
mov dword [esp], eax
call fcn.00576ab0
sub esp, 4
test eax, eax
je 0x4fc438
mov dword [0x7e42ec], 0x301ac7
mov dword [0x7e42ec], 0x301ac8
mov eax, dword [esi + 0xd4]
test eax, eax
je 0x4fc185
cmp eax, 1
jne 0x4fc1be
mov dword [0x7e42ec], 0x301ad2
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov dword [esp + 0x44], edx
call fcn.0058d170
mov dword [esp + 4], eax
mov edx, dword [esp + 0x44]
mov dword [esp], edx
call fcn.00589d70
push eax
push eax
call fcn.0058d1f0
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0058b890
push edx
push edx
mov dword [esp + 0x44], eax
call fcn.0058d1a0
mov edx, dword [esp + 0x44]
test edx, edx
jne 0x4fc3aa
mov dword [0x7e42ec], 0x301ad7
jmp 0x4fc1be
mov dword [0x7e42ec], 0x301aca
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov edx, dword [eax + 8]
mov dword [esp + 0x44], edx
call fcn.0058d170
mov dword [esp + 4], eax
mov edx, dword [esp + 0x44]
mov dword [esp], edx
call fcn.00589d70
push eax
push eax
call fcn.0058d1f0
mov dword [esp + 0x44], eax
call fcn.0058d170
mov dword [esp + 8], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x44]
mov dword [esp], edx
call fcn.00589ce0
sub esp, 0xc
add dword [0x7eaa00], 2
call fcn.0058d1c0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0058d110
test eax, eax
jne 0x4fc31f
mov dword [0x7e42ec], 0x301acf
jmp 0x4fc1aa
mov dword [0x7e42ec], 0x301acb
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005823b0
push ecx
test eax, eax
jne 0x4fc348
mov dword [0x7e42ec], 0x301ace
jmp 0x4fc310
mov dword [0x7e42ec], 0x301acc
call fcn.0058d210
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0058d230
push ecx
call fcn.0058d170
mov dword [esp + 4], eax
mov eax, dword [esi + 0x90]
add eax, 8
mov dword [esp], eax
call fcn.0058d280
push eax
push eax
mov dword [0x7e42ec], 0x301acd
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov edx, dword [esi + 0x90]
mov dword [edx + 0xc], eax
jmp 0x4fc33c
mov dword [0x7e42ec], 0x301ad3
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005823b0
push ecx
test eax, eax
jne 0x4fc3d6
mov dword [0x7e42ec], 0x301ad6
jmp 0x4fc277
mov dword [0x7e42ec], 0x301ad4
call fcn.0058d210
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0058d230
push ecx
call fcn.0058d170
mov dword [esp + 4], eax
mov eax, dword [esi + 0x90]
add eax, 8
mov dword [esp], eax
call fcn.0058d280
push eax
push eax
mov dword [0x7e42ec], 0x301ad5
mov eax, dword [esi + 0x28]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov edx, dword [esi + 0x90]
mov dword [edx + 0xc], eax
jmp 0x4fc3c7
mov ecx, ebx
jmp 0x4fbea6
mov dword [0x7e42ec], 0x301ae2
mov dword [0x7e42ec], 0x301ae3
mov dword [0x7e42ec], 0x301ae4
mov dword [0x7e42ec], 0x301ae5
mov eax, dword [esi + 0x30]
mov dword [esp], eax
call fcn.00576ab0
sub esp, 4
test eax, eax
je 0x4fc5ad
mov dword [0x7e42ec], 0x301adc
mov dword [0x7e42ec], 0x301add
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00589cb0
sub esp, 4
cmp ebx, eax
jg 0x4fc453
mov dword [0x7e42ec], 0x301ade
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
call fcn.0058d210
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov edi, dword [eax + 8]
call fcn.0058d170
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00589d70
sub esp, 8
call fcn.0058d1f0
mov edi, eax
call fcn.0058d170
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov dword [esp], edi
call fcn.00589ce0
sub esp, 0xc
add dword [0x7eaa00], 2
call fcn.0058d1c0
mov dword [esp + 4], eax
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0058d110
test eax, eax
je 0x4fc449
mov dword [0x7e42ec], 0x301adf
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005823b0
sub esp, 4
test eax, eax
je 0x4fc43f
mov dword [0x7e42ec], 0x301ae0
call fcn.0058d210
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.0058d230
push edi
call fcn.0058d170
mov dword [esp + 4], eax
mov eax, dword [esi + 0x90]
add eax, 8
mov dword [esp], eax
call fcn.0058d280
push eax
push eax
mov dword [0x7e42ec], 0x301ae1
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00589cb0
push edx
mov edx, dword [esi + 0x90]
mov dword [edx + 0xc], eax
jmp 0x4fc43f
mov edi, dword [esp + 0x104]
mov dword [0x7e42ec], 0x301ae7
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005822bf
push ecx
test eax, eax
je 0x4fc643
mov dword [0x7e42ec], 0x301ae9
mov dword [0x7e42ec], 0x301aed
mov dword [esp + 0xc], 8
xor eax, eax
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005318b0
sub esp, 0x10
mov dword [0x7e42ec], 0x301af1
fldz
fstp qword [esi + 0xa4]
mov dword [0x7e42ec], 0x301af2
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.005593bf
push edx
test eax, eax
jne 0x4fc67d
mov dword [0x7e42ec], 0x301b0e
jmp 0x4fc660
mov dword [0x7e42ec], 0x301ae8
mov dword [esp], esi
call fcn.004abe80
push ebx
mov dword [0x7e42ec], 0x301ae9
mov dword [0x7e42ec], 0x301b10
mov dword [0x7e42ec], 0x301b12
mov eax, dword [esp + 0x6c]
jmp 0x4fbee2
mov eax, dword [esi + 4]
mov eax, dword [eax + 4]
mov dword [esp], eax
call fcn.0055ada9
push edx
mov dword [esp], eax
call fcn.00585fd0
push ecx
test eax, eax
je 0x4fc637
mov dword [0x7e42ec], 0x301af3
mov eax, dword [esi + 0x38]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00586a40
push ebx
mov dword [0x7e42ec], 0x301af4
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005821d3
push eax
mov ebx, dword [esp + 0x44]
jmp 0x4fc6f5
mov dword [0x7e42ec], 0x30066f
mov eax, edx
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fstp qword [esi + 0xa4]
mov dword [0x7e42ec], 0x301af6
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005821e8
push edx
test eax, eax
je 0x4fc7ab
mov dword [0x7e42ec], 0x301af4
mov dword [0x7e42ec], 0x301af5
mov eax, dword [esi + 0x90]
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.005870f0
push ecx
fld qword [esi + 0xa4]
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
fistp qword [esp + 0xa8]
mov edx, dword [esp + 0xa8]
fadd dword [0x699bd0]
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
fistp qword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
mov dword [0x7e42ec], 0x30066d
mov dword [0x7e42ec], 0x30066e
cmp edx, eax
jg 0x4fc6d1
mov dword [0x7e42ec], 0x300670
mov dword [0x7e42ec], 0x300671
jmp 0x4fc6dd
mov ecx, ebx
mov dword [0x7e42ec], 0x301af7
fld qword [esi + 0xa4]
fadd qword [esi + 0xb4]
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
fistp qword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp eax, 0x15d
jle 0x4fcafc
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov eax, 0x15e
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x44], eax
fild dword [esp + 0x44]
fstp qword [esi + 0xa4]
mov dword [0x7e42ec], 0x301af8
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005822bf
push ecx
mov edx, dword [esi + 0xd0]
mov dword [0x7e42ec], 0x300674
mov dword [0x7e42ec], 0x300675
cmp eax, edx
mov ecx, dword [esp + 0x4c]
jg 0x4fcb0b
mov dword [0x7e42ec], 0x300677
mov dword [0x7e42ec], 0x300678
mov dword [esi + 0xcc], eax
mov dword [0x7e42ec], 0x301af9
mov eax, dword [ecx + 0x44]
mov ebx, dword [esp + 0x38]
sub eax, ebx
mov dword [esp + 8], eax
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x44], ecx
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489750
sub esp, 0xc
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
mov eax, dword [esp + 0x48]
fild dword [eax + 0x34]
fsubp st(1)
fild dword [esi + 0x106]
faddp st(1)
fstp qword [esi + 0x94]
mov dword [0x7e42ec], 0x301afa
call fcn.00587ec0
fstp qword [esp + 0x38]
call fcn.00577334
fld qword [esi + 0x94]
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
fistp qword [esp + 0xa8]
mov eax, dword [esp + 0xa8]
mov edx, dword [esi + 0x106]
fdivr qword [esp + 0x38]
fsub qword [esi + 0xa4]
fsub dword [0x699b78]
fstp qword [esp + 0x88]
fld qword [esp + 0x88]
fistp qword [esp + 0xa8]
mov ebx, dword [esp + 0xa8]
mov dword [0x7e42ec], 0x30067b
mov dword [0x7e42ec], 0x30067c
cmp eax, edx
mov ecx, dword [esp + 0x44]
jge 0x4fc962
mov dword [0x7e42ec], 0x30067d
mov eax, edx
mov dword [0x7e42ec], 0x30067e
mov dword [0x7e42ec], 0x30067f
cmp ebx, eax
jge 0x4fc986
mov dword [0x7e42ec], 0x300680
mov eax, ebx
mov dword [0x7e42ec], 0x300681
mov dword [0x7e42ec], 0x300682
mov dword [esp + 0x38], eax
fild dword [esp + 0x38]
fstp qword [esi + 0x94]
mov dword [0x7e42ec], 0x301afb
fild dword [esi + 0x88]
fild dword [ecx + 0x40]
mov edx, dword [esp + 0x48]
fild dword [edx + 0x30]
fsubp st(1)
fld1
fadd st(1), st(0)
fxch st(1)
fmul st(2)
fild dword [esi + 0x10e]
faddp st(1)
fadd dword [0x699c44]
fst qword [esi + 0x9c]
mov dword [0x7e42ec], 0x301afd
mov eax, dword [ecx + 0x40]
sub eax, dword [edx + 0x30]
mov ecx, eax
mov ebx, dword [esi + 0xcc]
mov eax, dword [edx + 0x20]
mov dword [0x7e42ec], 0x301afe
lea edx, [ecx + ebx]
cmp edx, eax
jle 0x4fca67
mov dword [0x7e42ec], 0x301aff
sub eax, ecx
mov dword [0x7e42ec], 0x301b00
cmp eax, 2
jg 0x4fcb1c
mov dword [0x7e42ec], 0x301b02
mov dword [0x7e42ec], 0x301b03
mov dword [esp + 0x38], ebx
fild dword [esp + 0x38]
faddp st(2)
fxch st(1)
fmul st(2)
fsubp st(1)
fsub dword [0x699bbc]
fstp qword [esi + 0x9c]
mov dword [0x7e42ec], 0x301b04
jmp 0x4fca6b
fstp st(0)
fstp st(0)
mov dword [0x7e42ec], 0x301b05
mov dword [0x7e42ec], 0x301b07
fild dword [esi + 0xcc]
fmulp st(1)
fstp qword [esi + 0xac]
mov dword [0x7e42ec], 0x301b08
xor eax, eax
mov dword [esi + 0xbc], eax
mov dword [0x7e42ec], 0x301b09
xor eax, eax
mov dword [esi + 0xc0], eax
mov dword [0x7e42ec], 0x301b0a
mov byte [esi + 0xd8], 1
mov dword [0x7e42ec], 0x301b0b
mov eax, dword [esi + 0x8c]
mov dword [esp], eax
call fcn.005822bf
push edx
cmp eax, dword [esi + 0xcc]
setg byte [esi + 0xd9]
mov dword [0x7e42ec], 0x301b0d
call fcn.00587560
jmp 0x4fc637
mov dword [0x7e42ec], 0x300676
jmp 0x4fc817
mov dword [0x7e42ec], 0x300676
mov eax, edx
jmp 0x4fc87c
fstp st(0)
fstp st(0)
mov dword [0x7e42ec], 0x301b01
mov dword [esi + 0xcc], eax
mov dword [0x7e42ec], 0x301b02
jmp 0x4fca5b
mov dword [0x7e42ec], 0x302371
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.00489040
sub esp, 8
mov dword [0x7e42ec], 0x302372
mov dword [0x7e42ec], 0x30237c
mov dword [0x7e42ec], 0x30237d
mov dword [0x7e42ec], 0x30237f
mov eax, dword [esi + 0x2ea]
test eax, eax
jne 0x4fcd78
mov dword [0x7e42ec], 0x302381
mov dword [0x7e42ec], 0x302383
mov eax, dword [esp + 0x34]
test eax, eax
jne 0x4fcbb9
mov eax, dword [esi + 0x2e6]
test eax, eax
je 0x4fcbe5
mov dword [0x7e42ec], 0x302385
mov eax, dword [esi + 0x222]
mov dword [esp + 0xc], eax
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004988e0
sub esp, 0x10
mov dword [0x7e42ec], 0x302386
mov dword [0x7e42ec], 0x302388
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005822bf
sub esp, 4
cmp eax, 1
je 0x4fcda8
mov dword [0x7e42ec], 0x30238a
mov dword [0x7e42ec], 0x30238b
mov dword [esi + 0x2f2], 0
mov dword [0x7e42ec], 0x30238c
mov dword [0x7e42ec], 0x30238e
mov ebp, dword [esp + 0x40]
test ebp, ebp
je 0x4fcdf0
mov eax, dword [esi + 0x222]
mov ecx, dword [eax + 0x20]
cmp dword [eax + 0x3c], ecx
jne 0x4fcdf0
mov ebx, dword [eax + 0x28]
cmp dword [eax + 0x44], ebx
je 0x4fcdf0
mov dword [0x7e42ec], 0x30238f
or dword [esi + 0x2ee], 2
mov dword [0x7e42ec], 0x302390
mov dword [0x7e42ec], 0x302397
mov dword [0x7e42ec], 0x302399
mov dword [0x7e42ec], 0x301761
mov dword [0x7e42ec], 0x301762
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.0048a790
sub esp, 8
jmp 0x4fced0
mov dword [0x7e42ec], 0x302373
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.00489040
sub esp, 8
mov dword [0x7e42ec], 0x302374
jmp 0x4fcb67
mov dword [0x7e42ec], 0x302375
mov eax, dword [esi + 0xcc]
neg eax
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489040
sub esp, 8
mov dword [0x7e42ec], 0x302376
jmp 0x4fcb67
mov dword [0x7e42ec], 0x302377
mov eax, dword [esi + 0xcc]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00489040
sub esp, 8
mov dword [0x7e42ec], 0x302378
jmp 0x4fcb67
mov dword [0x7e42ec], 0x302379
mov dword [esp], esi
call fcn.004ac2b0
sub esp, 4
mov dword [0x7e42ec], 0x30237a
jmp 0x4fcb67
mov dword [0x7e42ec], 0x302380
mov dword [esp + 8], 0xffffffff
mov dword [esp + 4], 0xffffffff
mov dword [esp], esi
call fcn.0048acf0
sub esp, 0xc
jmp 0x4fcb93
mov eax, dword [esi + 0x222]
mov dword [esp], eax
call fcn.004011b0
sub esp, 4
test eax, eax
jne 0x4fcc13
mov dword [0x7e42ec], 0x302389
mov eax, dword [esi + 0x222]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00488000
sub esp, 8
mov dword [0x7e42ec], 0x30238a
jmp 0x4fcc31
mov dword [0x7e42ec], 0x302390
mov dword [0x7e42ec], 0x302391
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
sub esp, 4
lea esi, [esi]
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4fce90
mov dword [0x7e42ec], 0x302391
mov dword [0x7e42ec], 0x302392
mov eax, dword [esi + 0x21e]
mov ebx, dword [eax + 0x7c]
cmp dword [eax + 0x60], ebx
jne 0x4fce68
mov dword [0x7e42ec], 0x302395
mov dword [0x7e42ec], 0x302396
jmp 0x4fce18
mov dword [0x7e42ec], 0x302393
or dword [esi + 0x2ee], 2
mov dword [0x7e42ec], 0x302394
mov eax, dword [esi + 0x222]
jmp 0x4fce96
mov eax, dword [esi + 0x222]
mov dword [0x7e42ec], 0x302397
mov dword [0x7e42ec], 0x302399
mov dword [0x7e42ec], 0x301761
mov dword [0x7e42ec], 0x301762
test eax, eax
jne 0x4fccb2
mov dword [0x7e42ec], 0x301762
mov dword [0x7e42ec], 0x30239a
mov dword [0x7e42ec], 0x30239c
mov ebx, dword [esp + 0x24]
test ebx, ebx
je 0x4f6e85
cmp byte [esp + 0x20], 0
jne 0x4f6e85
mov dword [0x7e42ec], 0x30239d
mov dword [esp], esi
call fcn.004205a0
sub esp, 4
jmp 0x4f6e85
mov dword [0x7e42ec], 0x3023a2
mov dword [0x7e42ec], 0x3023a3
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821d3
sub esp, 4
jmp 0x4fcff8
mov dword [0x7e42ec], 0x300762
mov dword [0x7e42ec], 0x300764
mov dword [0x7e42ec], 0x30075d
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x300760
mov ebx, dword [eax + 0x60]
cmp dword [eax + 0x7c], ebx
jne 0x4fcf97
mov ebx, dword [eax + 0x68]
cmp dword [eax + 0x84], ebx
je 0x4fcfd0
mov dword [0x7e42ec], 0x300761
mov dword [0x7e42ec], 0x3023a8
mov dword [0x7e42ec], 0x3023a9
mov dword [0x7e42ec], 0x3023ac
mov dword [0x7e42ec], 0x3023ae
jmp 0x4fd099
mov dword [0x7e42ec], 0x300762
mov dword [0x7e42ec], 0x300764
mov dword [0x7e42ec], 0x3023aa
mov dword [0x7e42ec], 0x3023ab
mov eax, dword [esi + 0x21a]
mov dword [esp], eax
call fcn.005821e8
sub esp, 4
test eax, eax
je 0x4fd0f4
mov dword [0x7e42ec], 0x3023a3
mov dword [0x7e42ec], 0x3023a4
mov eax, dword [esi + 0x21e]
mov dword [0x7e42ec], 0x30075d
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x30075e
mov dword [0x7e42ec], 0x300760
mov ecx, dword [eax + 0x28]
cmp dword [eax + 0x44], ecx
jne 0x4fd067
mov ebx, dword [eax + 0x30]
cmp dword [eax + 0x4c], ebx
je 0x4fcf48
mov dword [0x7e42ec], 0x300761
mov dword [0x7e42ec], 0x3023a5
mov dword [0x7e42ec], 0x3023a6
mov dword [0x7e42ec], 0x3023ac
mov dword [0x7e42ec], 0x3023ae
mov dword [0x7e42ec], 0x3023af
mov eax, dword [esi + 0x2ee]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0xffffffff
mov eax, dword [esi]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.004abca0
sub esp, 0x10
mov dword [0x7e42ec], 0x3023b0
mov dword [0x7e42ec], 0x3023b2
mov dword [esp], esi
call fcn.0043f280
sub esp, 4
mov dword [0x7e42ec], 0x3023b4
jmp 0x4f69e5
mov dword [0x7e42ec], 0x3023ac
mov dword [0x7e42ec], 0x3023ae
mov ecx, dword [esp + 0x30]
test ecx, ecx
je 0x4fd0c6
jmp 0x4fd099
mov dword [esp + 0x30], 0
xor edx, edx
mov dword [esp + 0x34], 1
jmp 0x4f7d8e
mov dword [0x7e42ec], 0x302358
mov dword [0x7e42ec], 0x30235a
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 1
mov dword [0x7e42ec], 0x30235b
mov dword [0x7e42ec], 0x30235c
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00449680
sub esp, 8
mov dword [esp + 0x30], 1
jmp 0x4f85da
mov dword [0x7e42ec], 0x301bf1
mov dword [0x7e42ec], 0x301bf3
mov dword [0x7e42ec], 0x301bf7
mov dword [0x7e42ec], 0x301bf8
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esi + 8]
mov dword [esp], eax
call fcn.005822a5
push eax
push eax
mov dword [0x7e42ec], 0x301bf9
jmp 0x4f810f