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

Disassembly:
push 0xffffffffffffffff
push 0x476768
mov eax, dword fs:[0]
push eax
mov eax, 0x136c
call fcn.0041a1c0
mov eax, dword [0x4921c0]
xor eax, esp
mov dword [esp + 0x1368], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4921c0]
xor eax, esp
push eax
lea eax, [esp + 0x1380]
mov dword fs:[0], eax
xor edi, edi
mov esi, ecx
mov dword [esp + 0x1c], esi
cmp dword [0x58cb68], edi
je 0x446b96
mov byte [esp + 0x1b], 1
jmp 0x446b9e
cmp dword [0x58cb6c], edi
je 0x446bd5
mov eax, dword [0x5490d4]
cmp eax, 0xffffffff
jne 0x446bc5
mov eax, dword [0x4eab8c]
cdq
sub eax, edx
sar eax, 1
mov dword [esp + 0xac], eax
mov eax, dword [0x4ea660]
cdq
sub eax, edx
sar eax, 1
jmp 0x446bd1
mov dword [esp + 0xac], eax
mov eax, dword [0x547cf0]
mov dword [esp + 0x5c], eax
xor eax, eax
mov dword [esp + 0xbc], edi
lea edx, [eax + 1]
cmp dword [0x58ce2c], edi
je 0x446c60
mov byte [esp + 0x8b4], 0x40
mov cl, byte [eax + 0x5370c8]
mov byte [esp + eax + 0x8b5], cl
add eax, edx
test cl, cl
jne 0x446bf1
mov dword [esp + 0xbc], 0xfffffc7c
mov dword [0x58cb74], edx
mov dword [esp + 0x1388], edi
cmp dword [0x58e608], edx
mov dword [esp + 0x54], edi
mov dword [esp + 0x20], edi
jge 0x446c89
cmp byte [0x4ea770], 0
je 0x446c7c
push edi
push 0x4ea770
cmp dword [0x650bf8], edi
je 0x446c75
mov ecx, 0xa
call fcn.0046d790
mov dword [0x58cb74], edi
xor eax, eax
jmp 0x449798
mov cl, byte [eax + 0x5370c8]
mov byte [esp + eax + 0x8b4], cl
add eax, edx
test cl, cl
jne 0x446c60
jmp 0x446c0f
mov ecx, esi
call fcn.0046ef70
mov dword [0x58cb74], edi
xor eax, eax
jmp 0x449798
mov dword [esp + 0x2c], edx
mov dword [esp + 0x80], edx
mov esi, dword [esp + 0x2c]
test esi, esi
jne 0x446cc4
mov ecx, dword [0x58faac]
mov byte [ecx + 0x58e624], 0
xor eax, eax
jmp 0x446cb0
mov cl, byte [eax + 0x58e624]
mov byte [esp + eax + 0x9b4], cl
inc eax
test cl, cl
jne 0x446cb0
jmp 0x446cfc
mov eax, dword [0x58e608]
mov ecx, dword [0x58e600]
sub eax, esi
xor edx, edx
test eax, eax
jle 0x446ce3
mov ecx, dword [ecx + 4]
test ecx, ecx
je 0x446cfc
inc edx
cmp edx, eax
jl 0x446cd7
test ecx, ecx
je 0x446cfc
mov edx, dword [ecx]
mov ecx, dword [edx]
lea edx, [esp + 0x9b4]
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x446cf2
mov edi, dword [0x58cb6c]
test edi, edi
je 0x446d4b
lea eax, [esp + 0x9b4]
mov byte [esp + 0x1b], 0
xor edx, edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446d17
sub eax, esi
je 0x446d4b
cmp byte [esp + edx + 0x9b4], 0x28
je 0x446d46
lea eax, [esp + 0x9b4]
inc edx
lea esi, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x446d37
sub eax, esi
cmp edx, eax
jb 0x446d22
jmp 0x446d4b
mov byte [esp + 0x1b], 1
mov eax, dword [0x4935ec]
lea eax, [eax + eax*2]
lea eax, [eax*8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
add eax, eax
add eax, eax
cmp dword [0x58ce2c], 0
mov dword [esp + 0xb4], eax
je 0x446db9
mov eax, dword [0x4ea870]
mov ecx, dword [0x4a86cc]
dec eax
imul eax, ecx
add eax, dword [0x4e8fc8]
cmp byte [esp + 0x1b], 0
mov dword [esp + 0x24], eax
mov eax, dword [0x4ea550]
mov dword [esp + 0x14], eax
je 0x446def
mov eax, dword [0x4eab8c]
sub eax, ecx
add dword [esp + 0x24], eax
jmp 0x446def
cmp byte [esp + 0x1b], 0
mov ecx, dword [0x4e8fc8]
mov edx, dword [0x4ea550]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], edx
je 0x446def
mov eax, dword [0x4eab80]
sub eax, dword [0x4ea660]
add dword [esp + 0x14], eax
test edi, edi
je 0x446def
mov ecx, dword [esp + 0x5c]
add dword [esp + 0x14], ecx
mov esi, dword [0x538594]
mov edi, dword [0x541434]
mov ebp, dword [0x4eaba0]
mov ebx, dword [0x539458]
mov dword [esp + 0x90], edi
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x84], esi
mov dword [esp + 0x70], ebx
test esi, esi
jge 0x446e2a
xor esi, esi
mov dword [esp + 0x84], esi
test ebx, ebx
jge 0x446e34
xor ebx, ebx
mov dword [esp + 0x70], ebx
mov ecx, dword [0x4935ec]
dec ecx
cmp esi, ecx
jle 0x446e48
mov esi, ecx
mov dword [esp + 0x84], esi
mov eax, dword [0x4937f0]
dec eax
cmp ebx, eax
jle 0x446e58
mov ebx, eax
mov dword [esp + 0x70], ebx
test edi, edi
jge 0x446e65
xor edi, edi
mov dword [esp + 0x90], edi
test ebp, ebp
jge 0x446e6f
xor ebp, ebp
mov dword [esp + 0x7c], ebp
cmp edi, ecx
jle 0x446e7c
mov edi, ecx
mov dword [esp + 0x90], edi
cmp ebp, eax
jle 0x446e86
mov ebp, eax
mov dword [esp + 0x7c], ebp
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
push eax
mov dword [esp + 0x6c], eax
mov dword [esp + 0x68], eax
call dword [0x47828c]
mov dword [esp + 0x60], eax
cmp dword [esp + 0x80], 0
mov byte [esp + 0x1388], 1
je 0x446f1f
cmp dword [0x538590], 1
jne 0x446f1f
cmp dword [0x493800], 0
je 0x446f1f
mov edx, dword [0x538594]
mov ebx, dword [0x4eaba0]
mov ecx, dword [0x541434]
xor eax, eax
mov dword [0x498484], eax
mov dword [0x538590], eax
mov eax, dword [0x539458]
push eax
call fcn.0044cc60
add esp, 4
mov eax, 0x538798
call fcn.00454390
mov ecx, dword [0x4ea874]
mov edx, dword [0x52ac0c]
push 0x538798
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, 0x541438
call fcn.0045cc30
mov ebx, dword [esp + 0x70]
add esi, 2
add ebx, 2
xor eax, eax
mov dword [esp + 0xcc], edi
mov dword [esp + 0xd0], ebp
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], ebx
mov dword [0x498484], 1
call fcn.00454390
cmp dword [esp + 0x80], 0
lea eax, [esp + 0xcc]
push eax
je 0x446f8d
mov ecx, dword [0x4ea874]
mov edx, dword [0x52ac0c]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, 0x541438
call fcn.0045cc30
mov dword [esp + 0x80], 0
jmp 0x446f9c
mov ecx, dword [esp + 0x20]
push 0
push 1
xor edx, edx
call fcn.0045cc30
mov ebp, dword [0x540990]
mov eax, dword [0x494dc4]
neg ebp
sbb ebp, ebp
cdq
idiv dword [0x494de4]
and ebp, 0x2bc
cmp dword [0x494dd8], 1
jne 0x446fc6
cdq
sub eax, edx
sar eax, 1
mov edx, dword [0x4eab8c]
mov ecx, dword [0x4ea660]
lea ebx, [edx + edx*2]
cmp eax, ebx
jl 0x446fe8
lea eax, [ecx + ecx*2]
cmp dword [0x494dc8], eax
jge 0x4470a2
mov eax, dword [0x494d78]
xor edi, edi
lea esi, [ecx + ecx*2]
cmp eax, edi
je 0x44703a
push eax
call dword [0x478064]
cmp dword [0x494db4], edi
je 0x447027
mov ecx, dword [0x494dc0]
push ecx
call dword [0x47806c]
mov edx, dword [0x494db4]
push edx
call fcn.00407edf
add esp, 4
mov dword [0x494db4], edi
mov dword [0x494d78], edi
mov dword [0x494dd4], edi
mov byte [0x494b60], 0
push edi
call dword [0x478058]
mov dword [0x494d78], eax
mov ecx, ebx
mov eax, esi
mov ebx, 0x494d7c
call fcn.00466ec0
mov eax, dword [0x494dc0]
mov ecx, dword [0x494d78]
push eax
push ecx
call dword [0x478054]
mov edx, dword [0x494d78]
push 0xffffff
push edx
call dword [0x478038]
mov eax, dword [0x494d78]
push 2
push eax
call dword [0x478044]
mov ecx, dword [0x494d78]
push 0
push ecx
call dword [0x478040]
mov edx, dword [0x4eab8c]
mov ecx, dword [0x4ea660]
xor esi, esi
lea eax, [esp + 0x8b4]
push eax
mov eax, dword [esp + 0xc0]
push 1
push esi
push esi
push esi
push 0x86
push esi
push esi
push esi
push ebp
push eax
push eax
lea eax, [edx + edx*2]
cdq
sub eax, edx
sar eax, 1
push eax
lea ecx, [ecx + ecx*2]
push ecx
call dword [0x47803c]
mov edx, dword [0x494d78]
push eax
push edx
call dword [0x478054]
push eax
call dword [0x47806c]
mov ax, word [0x482ad4]
mov cl, byte [0x482ad6]
mov word [esp + 0x3c], ax
mov eax, dword [0x4a8594]
shl eax, 8
add eax, 0x498588
mov dword [esp + 0x44], eax
mov eax, dword [0x4a85a8]
shl eax, 8
add eax, 0x498588
mov dword [esp + 0xb8], eax
mov eax, dword [0x541f30]
shl eax, 8
add eax, 0x498588
mov byte [esp + 0x3e], cl
mov dword [esp + 0xb0], eax
mov dword [esp + 0x78], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
cmp dword [0x58cdf8], 0
jne 0x447199
lea edx, [esp + 0xc0]
push edx
call dword [0x478388]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0xc0]
push eax
push ecx
call dword [0x47834c]
mov eax, dword [esp + 0xc4]
mov edx, dword [ebx + 0x10]
shl eax, 0x10
add eax, dword [esp + 0xc0]
push eax
push 0
push 0x200
push edx
call dword [0x478394]
mov cl, byte [esp + esi + 0x9b4]
movzx eax, cl
mov byte [esp + 0x53], cl
cmp eax, 0x5c
ja case.0x4471b7.1
movzx eax, byte [eax + 0x4497d8]
jmp dword [eax*4 + 0x4497c0]
cmp dword [0x58cb8c], 0
jne case.0x4471b7.1
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x78], esi
inc esi
mov al, 0x2f
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x6c], 1
mov ecx, esi
cmp byte [esp + esi + 0x9b4], al
je 0x44720a
nop
inc ecx
cmp byte [esp + ecx + 0x9b4], al
jne 0x447200
mov eax, ecx
sub eax, esi
cdq
sub eax, edx
mov ebx, eax
inc ecx
mov al, 0x29
sar ebx, 1
mov edx, ecx
cmp byte [esp + ecx + 0x9b4], al
je 0x44722d
inc ecx
cmp byte [esp + ecx + 0x9b4], al
jne 0x447223
mov eax, ecx
sub eax, edx
cdq
sub eax, edx
sar eax, 1
cmp dword [0x58ce2c], 0
jne 0x44736c
mov ecx, dword [0x4a86cc]
imul eax, dword [esp + 0xac]
mov edx, ebx
imul edx, ecx
cmp eax, edx
jle 0x4472ed
mov edx, dword [0x4ea870]
imul edx, ecx
add edx, dword [0x4e8fc8]
add ecx, eax
add ecx, ebp
cmp ecx, edx
jl 0x4472d0
mov cl, byte [esp + 0x1b]
test cl, cl
je 0x44729c
cmp dword [0x58cb6c], 0
je 0x44729c
mov edx, dword [esp + 0x5c]
mov ecx, dword [0x4eab80]
mov ebp, dword [0x4e8fc8]
add ecx, edx
add edi, ecx
jmp 0x4472be
add edi, dword [0x4eab80]
mov ebp, dword [0x4e8fc8]
mov dword [esp + 0x14], edi
test cl, cl
je 0x4472c2
mov edx, dword [0x4eab80]
sub edx, dword [0x4ea660]
add edi, edx
mov dword [esp + 0x14], edi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
imul ebx, dword [0x4eab8c]
sub eax, ebx
mov dword [esp + 0x48], eax
cdq
sub eax, edx
sar eax, 1
add ebp, eax
mov dword [esp + 0x24], ebp
jmp case.0x4471b7.0
mov eax, dword [0x4ea870]
inc ebx
imul eax, ecx
imul ebx, ecx
mov ecx, dword [0x4e8fc8]
add ebx, ebp
add eax, ecx
cmp ebx, eax
jl 0x447356
mov al, byte [esp + 0x1b]
test al, al
je 0x44732a
cmp dword [0x58cb6c], 0
je 0x44732a
mov edx, dword [0x4eab80]
mov ebp, ecx
mov ecx, dword [esp + 0x5c]
add edx, ecx
add edi, edx
jmp 0x447344
mov ebp, ecx
mov ecx, dword [0x4eab80]
add edi, ecx
mov dword [esp + 0x14], edi
test al, al
je 0x447348
sub ecx, dword [0x4ea660]
add edi, ecx
mov dword [esp + 0x14], edi
mov dword [esp + 0x88], ebp
mov dword [esp + 0x8c], edi
xor eax, eax
mov dword [esp + 0x48], eax
cdq
sub eax, edx
sar eax, 1
add ebp, eax
mov dword [esp + 0x24], ebp
jmp case.0x4471b7.0
imul eax, dword [esp + 0x5c]
mov ecx, ebx
imul ecx, dword [0x4ea660]
cmp eax, ecx
jle 0x447394
sub eax, ecx
mov dword [esp + 0x48], eax
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov dword [esp + 0x14], edi
jmp case.0x4471b7.0
xor eax, eax
mov dword [esp + 0x48], eax
cdq
sub eax, edx
sar eax, 1
add edi, eax
mov dword [esp + 0x14], edi
jmp case.0x4471b7.0
cmp dword [0x58cb8c], 0
jne case.0x4471b7.1
push 0x64
lea eax, [esp + 0x850]
push 0
push eax
call fcn.00411230
mov eax, dword [esp + 0x84]
add esp, 0xc
mov ecx, esi
sub ecx, eax
push ecx
lea edx, [esp + eax + 0x9b8]
push edx
lea eax, [esp + 0x854]
push eax
call fcn.004094f0
mov eax, dword [esp + 0x54]
cdq
sub eax, edx
inc esi
add esp, 0xc
sar eax, 1
cmp dword [0x58ce2c], 0
mov dword [esp + 0x34], esi
mov dword [esp + 0x6c], 3
jne 0x447414
add dword [esp + 0x24], eax
jmp 0x447418
add dword [esp + 0x14], eax
mov ecx, dword [0x541f30]
mov edx, dword [0x4a85a8]
mov eax, dword [0x4a8594]
push ecx
mov ecx, dword [esp + 0x90]
push edx
mov edx, dword [esp + 0x24]
push eax
push 0
push ecx
push edx
mov edx, dword [esp + 0xa0]
lea ecx, [esp + 0x864]
mov dword [esp + 0x60], 0
call fcn.004429f0
jmp case.0x4471b7.0
cmp dword [0x58cb8c], 0
jne case.0x4471b7.1
mov eax, esi
sub eax, dword [esp + 0x78]
mov dword [esp + 0x6c], 2
imul eax, dword [0x4a86cc]
cdq
sub eax, edx
sar eax, 1
add eax, dword [esp + 0x48]
inc esi
mov dword [0x54586c], eax
mov dword [esp + 0x34], esi
mov dword [esp + 0x78], esi
jmp case.0x4471b7.0
cmp dword [esp + 0x30], 0
je 0x4474ae
mov dword [esp + 0x30], 0
inc esi
jmp 0x447145
cmp dword [0x58ce2c], 0
je 0x4474d0
mov eax, dword [0x4a86cc]
mov ecx, dword [0x4ea550]
sub dword [esp + 0x24], eax
mov dword [esp + 0x14], ecx
inc esi
jmp 0x447145
mov eax, dword [0x4eab80]
mov edx, dword [0x4e8fc8]
add dword [esp + 0x14], eax
mov dword [esp + 0x24], edx
inc esi
jmp 0x447145
cmp dword [esp + 0x6c], 2
jne 0x4474fc
add esi, 2
mov dword [esp + 0x34], esi
jmp case.0x4471b7.0
mov edx, dword [0x4a86cc]
mov eax, dword [esp + 0x24]
add edx, eax
cmp edx, dword [esp + 0x90]
jl case.0x4471b7.0
mov edx, dword [esp + 0x14]
mov eax, dword [0x4eab80]
add eax, edx
cmp eax, dword [esp + 0x7c]
jl case.0x4471b7.0
mov edx, dword [esp + 0x84]
cmp dword [esp + 0x24], edx
jg case.0x4471b7.0
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x14], eax
jg case.0x4471b7.0
mov al, cl
mov cl, byte [esp + esi + 0x9b5]
mov byte [esp + 0x3c], al
mov byte [esp + 0x3d], cl
test al, al
je case.0x4471b7.0
test cl, cl
je case.0x4471b7.0
mov eax, dword [0x494dc4]
cdq
idiv dword [0x494de4]
cmp dword [0x494dd8], 1
mov ebp, dword [0x494dc8]
mov ebx, eax
jne 0x44758e
cdq
sub eax, edx
sar eax, 1
mov ebx, eax
xor edi, edi
push edi
mov byte [0x494b60], 0
call dword [0x47805c]
mov edx, dword [0x494d78]
mov esi, eax
push esi
lea ecx, [esp + 0xe0]
push ecx
push edx
mov dword [esp + 0xec], edi
mov dword [esp + 0xf4], ebp
mov dword [esp + 0xe8], edi
mov dword [esp + 0xf0], ebx
call dword [0x4782c0]
push esi
call dword [0x47806c]
mov esi, dword [0x47804c]
push 2
cmp dword [0x58ce2c], edi
jne 0x44760d
mov ecx, dword [0x494d78]
lea eax, [esp + 0x40]
push eax
push edi
push edi
push ecx
call esi
cmp dword [0x540990], edi
je 0x447646
push 2
lea edx, [esp + 0x40]
push edx
push edi
push 1
jmp 0x44763e
mov eax, dword [0x4eab8c]
lea ecx, [esp + 0x40]
push ecx
push edi
lea edx, [eax + eax*2]
mov eax, dword [0x494d78]
push edx
push eax
call esi
cmp dword [0x540990], edi
je 0x447646
mov eax, dword [0x4eab8c]
push 2
lea ecx, [esp + 0x40]
push ecx
push edi
lea edx, [eax + eax*2 + 1]
push edx
mov eax, dword [0x494d78]
push eax
call esi
mov ebp, dword [0x4937f0]
mov eax, dword [esp + 0xb4]
mov ebx, dword [0x4eab8c]
mov ecx, dword [esp + 0x24]
mov esi, ebp
sub esi, dword [esp + 0x14]
lea edi, [ebx + ebx*2]
dec esi
imul esi, eax
lea edx, [edi + eax]
mov eax, dword [0x494dc4]
mov dword [esp + 0x94], edx
cdq
idiv dword [0x494de4]
lea ecx, [ecx + ecx*2]
add esi, ecx
cmp dword [0x494dd8], 1
jne 0x447693
cdq
sub eax, edx
sar eax, 1
lea eax, [eax + eax*2]
mov ecx, dword [0x494dc8]
lea eax, [eax*8 + 7]
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 3
cdq
and edx, 3
add eax, edx
sar eax, 2
dec ecx
add eax, eax
add eax, eax
imul ecx, eax
cmp dword [0x58ccb4], 0
mov edx, ecx
lea ecx, [edi + eax]
lea ecx, [ecx + ecx*2]
mov dword [esp + 0x4c], ecx
mov ecx, dword [0x494dbc]
mov edi, edx
mov dword [esp + 0x98], ecx
mov ecx, dword [0x493b94]
mov dword [esp + 0x28], edi
je 0x4479ad
cmp dword [0x52b5bc], 0
je 0x4479ad
sub ebp, dword [0x547cf4]
mov edi, dword [0x5478c4]
sub ebp, dword [esp + 0x14]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x24]
dec ebp
imul ebp, dword [esp + 0xb4]
add edx, edi
lea edx, [edx + edx*2]
add ebp, edx
mov edx, ebp
mov ebp, dword [0x4ea660]
mov dword [esp + 0x40], 0
test ebp, ebp
jle 0x447841
nop
mov edi, dword [esp + 0x58]
mov dword [esp + 0x38], 0
test ebx, ebx
jle 0x447824
mov ebx, dword [esp + 0x98]
lea ebp, [edi + ebx + 6]
mov dword [esp + 0x30], ebp
mov ebp, 3
sub ebp, eax
lea ebp, [edi + ebp*2]
add ebp, ebx
nop
movzx ebx, byte [eax + ebp - 6]
movzx edi, byte [eax + ebp - 3]
lea edi, [ebx + edi*2]
movzx ebx, byte [eax + ebp]
add edi, ebx
movzx ebx, byte [ebp - 3]
add edi, ebx
mov ebx, dword [esp + 0x30]
movzx ebx, byte [ebx - 3]
add edi, ebx
movzx ebx, byte [ebp - 6]
lea edi, [ebx + edi*2]
mov ebx, dword [esp + 0x30]
movzx ebx, byte [ebx - 6]
add edi, ebx
mov ebx, dword [esp + 0x30]
movzx ebx, byte [ebx]
add edi, ebx
movzx ebx, byte [ebp]
add edi, ebx
movzx ebx, byte [edx + ecx]
shl ebx, 8
sar edi, 4
sub ebx, edi
movzx ebx, byte [ebx + 0x498687]
mov byte [edx + ecx], bl
movzx ebx, byte [edx + ecx + 1]
inc edx
shl ebx, 8
sub ebx, edi
movzx ebx, byte [ebx + 0x498687]
mov byte [edx + ecx], bl
movzx ebx, byte [edx + ecx + 1]
inc edx
shl ebx, 8
sub ebx, edi
movzx ebx, byte [ebx + 0x498687]
mov edi, 9
add dword [esp + 0x58], edi
add dword [esp + 0x30], edi
add ebp, edi
mov edi, dword [esp + 0x38]
mov byte [edx + ecx], bl
mov ebx, dword [0x4eab8c]
inc edi
inc edx
cmp edi, ebx
mov dword [esp + 0x38], edi
jl 0x447770
mov ebp, dword [0x4ea660]
mov edi, dword [esp + 0x58]
sub edi, dword [esp + 0x4c]
inc dword [esp + 0x40]
sub edx, dword [esp + 0x94]
cmp dword [esp + 0x40], ebp
mov dword [esp + 0x58], edi
jl 0x447740
mov edi, dword [esp + 0x28]
mov dword [esp + 0x40], 0
test ebp, ebp
jle 0x447b4d
jmp 0x447860
mov dword [esp + 0x30], 0
test ebx, ebx
jle 0x447988
mov edx, dword [esp + 0x98]
mov ebx, 3
lea ebp, [edi + edx + 6]
sub ebx, eax
lea edi, [edi + ebx*2]
mov dword [esp + 0x38], ebp
add edi, edx
movzx ebx, byte [edi + eax]
movzx edx, byte [edi + eax - 3]
lea edx, [ebx + edx*2]
movzx ebx, byte [edi + eax - 6]
add edx, ebx
movzx ebx, byte [edi - 3]
add edx, ebx
movzx ebx, byte [ebp - 3]
add edx, ebx
movzx ebx, byte [edi - 6]
lea edx, [ebx + edx*2]
movzx ebx, byte [ebp - 6]
add edx, ebx
movzx ebx, byte [edi]
add edx, ebx
movzx ebx, byte [ebp]
add edx, ebx
movzx ebx, byte [ecx + esi]
shl ebx, 8
sar edx, 4
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0xb0]
movzx ebx, byte [edx + ebx]
add ebp, ebx
cmp ebp, 0xff
mov ebx, 0xff
jg 0x4478f1
mov ebx, ebp
mov byte [ecx + esi], bl
movzx ebx, byte [ecx + esi + 1]
inc esi
shl ebx, 8
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0xb8]
movzx ebx, byte [edx + ebx]
add ebp, ebx
cmp ebp, 0xff
mov ebx, 0xff
jg 0x447922
mov ebx, ebp
mov byte [ecx + esi], bl
movzx ebx, byte [ecx + esi + 1]
inc esi
shl ebx, 8
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0x44]
movzx edx, byte [edx + ebx]
add ebp, edx
cmp ebp, 0xff
mov edx, 0xff
jg 0x447950
mov edx, ebp
mov ebp, dword [esp + 0x38]
add dword [esp + 0x28], 9
mov byte [ecx + esi], dl
mov edx, dword [esp + 0x30]
mov ebx, dword [0x4eab8c]
inc edx
add ebp, 9
inc esi
add edi, 9
cmp edx, ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x30], edx
jl 0x44788b
mov ebp, dword [0x4ea660]
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
sub edi, dword [esp + 0x4c]
sub esi, dword [esp + 0x94]
inc edx
cmp edx, ebp
mov dword [esp + 0x28], edi
mov dword [esp + 0x40], edx
jl 0x447860
jmp 0x447b4d
mov ebp, dword [0x4ea660]
mov dword [esp + 0x30], 0
test ebp, ebp
jle 0x447b4d
mov dword [esp + 0x40], 0
test ebx, ebx
jle 0x447b30
mov edx, dword [esp + 0x98]
mov ebx, 3
lea ebp, [edi + edx + 6]
sub ebx, eax
lea edi, [edi + ebx*2]
mov dword [esp + 0x38], ebp
add edi, edx
movzx ebx, byte [edi + eax - 6]
movzx edx, byte [edi + eax - 3]
lea edx, [ebx + edx*2]
movzx ebx, byte [edi + eax]
add edx, ebx
movzx ebx, byte [edi - 3]
add edx, ebx
movzx ebx, byte [ebp - 3]
add edx, ebx
movzx ebx, byte [edi - 6]
lea edx, [ebx + edx*2]
movzx ebx, byte [ebp - 6]
add edx, ebx
movzx ebx, byte [ebp]
add edx, ebx
movzx ebx, byte [edi]
add edx, ebx
movzx ebx, byte [ecx + esi]
shl ebx, 8
sar edx, 4
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0xb0]
movzx ebx, byte [edx + ebx]
add ebp, ebx
cmp ebp, 0xff
mov ebx, 0xff
jg 0x447a54
mov ebx, ebp
mov byte [ecx + esi], bl
movzx ebx, byte [ecx + esi + 1]
inc esi
shl ebx, 8
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0xb8]
movzx ebx, byte [edx + ebx]
add ebp, ebx
cmp ebp, 0xff
mov ebx, 0xff
jg 0x447a85
mov ebx, ebp
mov byte [ecx + esi], bl
movzx ebx, byte [ecx + esi + 1]
inc esi
shl ebx, 8
sub ebx, edx
movzx ebp, byte [ebx + 0x498687]
mov ebx, dword [esp + 0x44]
movzx ebx, byte [edx + ebx]
add ebp, ebx
cmp ebp, 0xff
mov ebx, 0xff
jg 0x447ab3
mov ebx, ebp
mov byte [ecx + esi], bl
inc esi
cmp dword [0x52b5bc], 0
je 0x447afc
movzx ebx, byte [ecx + esi]
shl ebx, 8
sub ebx, edx
movzx ebx, byte [ebx + 0x498687]
mov byte [ecx + esi], bl
movzx ebx, byte [ecx + esi + 1]
shl ebx, 8
sub ebx, edx
movzx ebx, byte [ebx + 0x498687]
mov byte [ecx + esi + 1], bl
movzx ebx, byte [ecx + esi + 2]
shl ebx, 8
sub ebx, edx
mov dl, byte [ebx + 0x498687]
mov byte [ecx + esi + 2], dl
mov edx, dword [esp + 0x40]
mov ebp, dword [esp + 0x38]
mov ebx, dword [0x4eab8c]
add dword [esp + 0x28], 9
inc edx
add ebp, 9
add edi, 9
cmp edx, ebx
mov dword [esp + 0x38], ebp
mov dword [esp + 0x40], edx
jl 0x4479ee
mov ebp, dword [0x4ea660]
mov edi, dword [esp + 0x28]
sub edi, dword [esp + 0x4c]
inc dword [esp + 0x30]
sub esi, dword [esp + 0x94]
cmp dword [esp + 0x30], ebp
mov dword [esp + 0x28], edi
jl 0x4479c3
add dword [esp + 0x34], 2
cmp dword [0x58ccb4], 0
je 0x447b8e
cmp dword [0x52b5bc], 0
je 0x447b8e
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [0x493b50]
push 0xcc0020
push eax
push ecx
push edx
mov edx, dword [0x547cf4]
add edx, ebp
push edx
mov edx, dword [0x5478c4]
add edx, ebx
push edx
jmp 0x447ba6
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x24]
mov edx, dword [0x493b50]
push 0xcc0020
push eax
push ecx
push edx
push ebp
push ebx
push eax
mov eax, dword [esp + 0x7c]
push ecx
push eax
call dword [0x478060]
mov eax, dword [esp + 0x34]
mov bl, byte [0x4ea349]
xor ecx, ecx
xor edi, edi
mov dword [esp + 0x30], ecx
xor esi, esi
mov dword [esp + 0x38], ecx
lea eax, [esp + eax + 0x9b4]
cmp dword [0x58cb8c], 0
movzx edx, byte [eax]
jne 0x447cac
cmp edx, 0x28
jne 0x447c91
lea edi, [edx - 0x27]
inc eax
cmp dword [0x58cb8c], 0
movzx edx, byte [eax]
jne 0x447d31
cmp edx, 0x28
jne 0x447d16
lea edi, [edx - 0x27]
inc eax
cmp dword [0x58cb8c], 0
movzx edx, byte [eax]
jne 0x447dba
cmp edx, 0x28
jne 0x447d9f
lea edi, [edx - 0x27]
inc eax
cmp dword [0x58cb8c], 0
movzx edx, byte [eax]
jne 0x447e43
cmp edx, 0x28
jne 0x447e28
lea edi, [edx - 0x27]
inc eax
mov edx, dword [esp + 0x38]
add edx, 4
cmp edx, 0x80
mov dword [esp + 0x38], edx
jl 0x447bd2
xor ebp, ebp
mov byte [esp + ecx + 0x656], 0
mov byte [esp + ecx + 0x655], 0
mov byte [esp + ecx + 0x654], 0
cmp dword [0x58ce2c], ebp
je 0x447eb1
mov eax, dword [0x4eab80]
add dword [esp + 0x14], eax
jmp 0x447ebb
cmp edx, 0x2f
jne 0x447c9e
lea esi, [edx - 0x2e]
jmp 0x447bee
cmp edx, 0x29
jne 0x447cac
xor esi, esi
xor edi, edi
jmp 0x447bee
test edx, edx
je 0x447c5d
cmp edx, 0x81
jl 0x447cc0
cmp edx, 0x9f
jle 0x447ccf
lea ebp, [edx - 0xe0]
cmp ebp, 0x1c
ja 0x447bee
test esi, esi
je 0x447cdb
add eax, 2
jmp 0x447bef
test edi, edi
jne 0x447cf8
mov byte [esp + ecx + 0x654], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x654], dl
inc ecx
jmp 0x447bee
mov dl, byte [0x4ea348]
mov byte [esp + ecx + 0x654], dl
inc ecx
mov byte [esp + ecx + 0x654], bl
inc ecx
add eax, 2
jmp 0x447bef
cmp edx, 0x2f
jne 0x447d23
lea esi, [edx - 0x2e]
jmp 0x447c0b
cmp edx, 0x29
jne 0x447d31
xor esi, esi
xor edi, edi
jmp 0x447c0b
test edx, edx
je 0x447c5d
cmp edx, 0x81
jl 0x447d49
cmp edx, 0x9f
jle 0x447d58
lea ebp, [edx - 0xe0]
cmp ebp, 0x1c
ja 0x447c0b
test esi, esi
je 0x447d64
add eax, 2
jmp 0x447c0c
test edi, edi
jne 0x447d81
mov byte [esp + ecx + 0x654], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x654], dl
inc ecx
jmp 0x447c0b
mov dl, byte [0x4ea348]
mov byte [esp + ecx + 0x654], dl
inc ecx
mov byte [esp + ecx + 0x654], bl
inc ecx
add eax, 2
jmp 0x447c0c
cmp edx, 0x2f
jne 0x447dac
lea esi, [edx - 0x2e]
jmp 0x447c28
cmp edx, 0x29
jne 0x447dba
xor esi, esi
xor edi, edi
jmp 0x447c28
test edx, edx
je 0x447c5d
cmp edx, 0x81
jl 0x447dd2
cmp edx, 0x9f
jle 0x447de1
lea ebp, [edx - 0xe0]
cmp ebp, 0x1c
ja 0x447c28
test esi, esi
je 0x447ded
add eax, 2
jmp 0x447c29
test edi, edi
jne 0x447e0a
mov byte [esp + ecx + 0x654], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x654], dl
inc ecx
jmp 0x447c28
mov dl, byte [0x4ea348]
mov byte [esp + ecx + 0x654], dl
inc ecx
mov byte [esp + ecx + 0x654], bl
inc ecx
add eax, 2
jmp 0x447c29
cmp edx, 0x2f
jne 0x447e35
lea esi, [edx - 0x2e]
jmp 0x447c45
cmp edx, 0x29
jne 0x447e43
xor esi, esi
xor edi, edi
jmp 0x447c45
test edx, edx
je 0x447c5d
cmp edx, 0x81
jl 0x447e5b
cmp edx, 0x9f
jle 0x447e6a
lea ebp, [edx - 0xe0]
cmp ebp, 0x1c
ja 0x447c45
test esi, esi
je 0x447e76
add eax, 2
jmp 0x447c46
test edi, edi
jne 0x447e93
mov byte [esp + ecx + 0x654], dl
mov dl, byte [eax + 1]
inc eax
inc ecx
mov byte [esp + ecx + 0x654], dl
inc ecx
jmp 0x447c45
mov dl, byte [0x4ea348]
mov byte [esp + ecx + 0x654], dl
inc ecx
mov byte [esp + ecx + 0x654], bl
inc ecx
add eax, 2
jmp 0x447c46
mov edx, dword [0x4a86cc]
add dword [esp + 0x24], edx
mov bl, byte [0x538f38]
mov edi, 3
cmp ecx, edi
jle 0x447f3a
cmp byte [0x58c9c7], 1
je 0x447f3a
mov dl, byte [0x4ea348]
test dl, dl
je 0x447f0e
mov al, byte [esp + ebp + 0x654]
mov esi, 0x4ea348
lea esp, [esp]
cmp dl, al
jne 0x447f04
mov dl, byte [esi + 1]
cmp dl, byte [esp + ebp + 0x655]
je 0x447f89
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x447ef0
test bl, bl
je 0x447f3a
mov al, byte [esp + ebp + 0x656]
mov dl, bl
mov esi, 0x538f38
cmp dl, al
jne 0x447f30
mov dl, byte [esi + 1]
cmp dl, byte [esp + ebp + 0x657]
je 0x447f89
mov dl, byte [esi + 2]
add esi, 2
test dl, dl
jne 0x447f20
mov eax, ebp
cdq
sub eax, edx
mov ecx, eax
sar ecx, 1
cmp dword [0x58ce2c], 0
je 0x447f94
mov eax, dword [0x4eab80]
mov edx, dword [0x4e8fc4]
imul ecx, eax
add ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x34]
dec edx
imul edx, eax
mov eax, dword [0x4ea550]
add edx, eax
cmp ecx, edx
jle case.0x4471b7.0
mov ecx, dword [0x4a86cc]
add dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x30], 1
jmp case.0x4471b7.0
add ebp, 2
add edi, 2
jmp 0x447ec6
mov eax, dword [0x4a86cc]
mov edx, dword [0x4ea870]
imul ecx, eax
add ecx, dword [esp + 0x24]
dec edx
imul edx, eax
mov eax, dword [0x4e8fc8]
add edx, eax
cmp ecx, edx
jle 0x447fe3
mov edx, dword [0x4eab80]
add dword [esp + 0x14], edx
cmp dword [0x58cb6c], 0
mov dword [esp + 0x24], eax
mov dword [esp + 0x30], 1
je 0x447fe3
cmp byte [esp + 0x1b], 0
je 0x447fe3
mov eax, dword [esp + 0x5c]
add dword [esp + 0x14], eax
mov esi, dword [esp + 0x34]
cmp byte [esp + 0x53], 0
jne 0x447149
mov ecx, dword [0x4935ec]
mov edx, dword [0x4937f0]
xor ebx, ebx
mov edi, 1
or ebp, 0xffffffff
mov eax, 3
mov dword [esp + 0x9c], ebx
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], edx
mov dword [esp + 0x610], ebx
mov dword [esp + 0x5c0], edi
mov dword [esp + 0x5bc], ebx
mov dword [esp + 0x630], ebx
mov dword [esp + 0x5d4], ebx
mov dword [esp + 0x638], ebp
mov dword [esp + 0x634], eax
mov dword [esp + 0x63c], ebx
mov dword [esp + 0x640], edi
mov dword [esp + 0x644], ebx
mov dword [esp + 0x64c], ebx
mov dword [esp + 0x648], ebx
mov byte [esp + 0x3bc], bl
mov dword [esp + 0x378], ebx
mov dword [esp + 0x328], edi
mov dword [esp + 0x324], ebx
mov dword [esp + 0x398], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x3a0], ebp
mov dword [esp + 0x39c], eax
mov dword [esp + 0x3a4], ebx
mov dword [esp + 0x3a8], edi
mov dword [esp + 0x3ac], ebx
mov dword [esp + 0x3b4], ebx
mov dword [esp + 0x3b0], ebx
mov byte [esp + 0x124], bl
mov byte [esp + 0x1388], al
cmp dword [0x58ce0c], ebx
je 0x44827f
mov esi, dword [esp + 0x2c]
mov edx, dword [0x58e608]
mov eax, dword [esp + 0x20]
lea ecx, [esi + 1]
cmp edx, ecx
mov dword [esp + 0x28], ecx
jge 0x448115
cmp eax, edi
jne 0x448115
xor eax, eax
mov dword [esp + 0x20], eax
cmp esi, edi
jg 0x448123
cmp eax, ebp
jne 0x448123
xor eax, eax
mov dword [esp + 0x20], eax
cmp edx, ecx
mov ecx, dword [0x5479dc]
lea ebp, [ecx*4]
jl 0x44815e
mov dword [ebp + 0x5371c8], edi
cmp eax, edi
jne 0x44814e
mov eax, ecx
imul eax, eax, 0x294
mov dword [eax + 0x59a288], edi
jmp 0x448164
mov edx, ecx
imul edx, edx, 0x294
mov dword [edx + 0x59a288], ebx
jmp 0x448164
mov dword [ebp + 0x5371c8], ebx
cmp esi, edi
mov edi, dword [0x547cf8]
lea esi, [edi*4]
jle 0x4481a7
cmp dword [esp + 0x20], 0xffffffff
mov eax, 1
mov dword [esi + 0x5371c8], eax
jne 0x448197
mov edx, edi
imul edx, edx, 0x294
mov dword [edx + 0x59a288], eax
jmp 0x4481ad
mov eax, edi
imul eax, eax, 0x294
mov dword [eax + 0x59a288], ebx
jmp 0x4481ad
mov dword [esi + 0x5371c8], ebx
mov edx, dword [0x498484]
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a270]
mov dword [esp + 0x44], eax
mov eax, dword [ecx + 0x59a26c]
mov dword [esp + 0x4c], edx
cdq
idiv dword [ecx + 0x59a28c]
mov ebx, 1
mov dword [0x498484], ebx
cmp dword [ecx + 0x59a280], ebx
jne 0x4481ec
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [ebp + 0x4a86d0]
mov edx, dword [esp + 0x44]
mov ecx, dword [ebp + 0x53f9f0]
lea edx, [edx + ebx + 1]
push edx
lea edx, [eax + ecx + 1]
call fcn.0044cc60
mov ecx, edi
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a26c]
mov ebp, dword [ecx + 0x59a270]
cdq
idiv dword [ecx + 0x59a28c]
add esp, 4
cmp dword [ecx + 0x59a280], 1
jne 0x448236
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi + 0x4a86d0]
mov ecx, dword [esi + 0x53f9f0]
lea edx, [ebx + ebp + 1]
push edx
lea edx, [eax + ecx + 1]
call fcn.0044cc60
add esp, 4
mov eax, 0x538798
call fcn.00454390
mov ecx, dword [esp + 0x1c]
push 0x538798
push 0
push 1
xor edx, edx
call fcn.0045cc30
mov eax, dword [esp + 0x4c]
mov dword [0x498484], eax
jmp 0x44853d
mov eax, dword [0x493e34]
cdq
idiv dword [0x493e54]
mov esi, eax
cmp dword [0x493e48], edi
jne 0x44829c
cdq
sub eax, edx
sar eax, 1
mov esi, eax
mov ebp, dword [0x493e38]
mov edi, dword [0x478058]
push ebx
mov dword [esp + 0xcc], esi
mov dword [esp + 0x78], ebp
call edi
mov dword [esp + 0x5d4], eax
mov eax, ebp
mov ecx, esi
lea ebx, [esp + 0x5d8]
call fcn.00466ec0
mov ecx, dword [esp + 0x61c]
mov edx, dword [esp + 0x5d4]
mov ebp, dword [0x478054]
push ecx
push edx
call ebp
mov eax, dword [esp + 0x33c]
xor ebx, ebx
cmp eax, ebx
je 0x44833c
push eax
call dword [0x478064]
cmp dword [esp + 0x378], ebx
je 0x448327
mov eax, dword [esp + 0x384]
push eax
call dword [0x47806c]
mov ecx, dword [esp + 0x378]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebx
mov dword [esp + 0x33c], ebx
mov dword [esp + 0x398], ebx
mov byte [esp + 0x124], bl
push ebx
call edi
mov dword [esp + 0x33c], eax
mov eax, dword [esp + 0x74]
mov ecx, esi
lea ebx, [esp + 0x340]
call fcn.00466ec0
mov edx, dword [esp + 0x384]
mov eax, dword [esp + 0x33c]
push edx
push eax
call ebp
mov ecx, dword [0x4eaba0]
mov eax, dword [0x538594]
mov edx, dword [0x493b50]
mov ebx, dword [esp + 0x74]
mov edi, dword [0x478060]
push 0xcc0020
push ecx
sub eax, esi
push eax
push edx
push ebx
push esi
push ecx
push eax
mov eax, dword [esp + 0x5f4]
push eax
call edi
mov eax, dword [0x539458]
mov ecx, dword [0x538594]
mov edx, dword [0x493b50]
push 0xcc0020
sub eax, ebx
push eax
sub ecx, esi
push ecx
push edx
push ebx
push esi
push eax
mov eax, dword [esp + 0x358]
push ecx
push eax
call edi
mov eax, dword [esp + 0x2c]
inc eax
cmp dword [0x58e608], eax
mov dword [esp + 0x28], eax
jge 0x4483e8
cmp dword [esp + 0x20], 1
jne 0x4483e8
mov dword [esp + 0x20], 0
mov ebp, dword [esp + 0x2c]
cmp ebp, 1
jg 0x448400
cmp dword [esp + 0x20], 0xffffffff
jne 0x448400
mov dword [esp + 0x20], 0
mov ecx, dword [0x4eaba0]
mov eax, dword [0x538594]
mov edx, dword [esp + 0x5d4]
push 0xcc0020
push ecx
sub eax, esi
push eax
push edx
mov edi, ebx
mov ebx, dword [0x478060]
push edi
push esi
push ecx
push eax
mov eax, dword [0x493b50]
push eax
call ebx
mov ecx, dword [0x58e608]
cmp ecx, dword [esp + 0x28]
jl 0x44847a
mov ecx, dword [0x538594]
sub ecx, esi
cmp dword [esp + 0x20], 1
jne 0x44845e
mov edx, dword [0x4eaba0]
push edx
push 0x493938
push 0x493bd0
jmp 0x44846e
mov eax, dword [0x4eaba0]
push eax
push 0x493938
push 0x493e68
lea eax, [esp + 0xa8]
call fcn.00462810
mov ecx, dword [0x4eaba0]
mov eax, dword [0x538594]
mov edx, dword [0x493b50]
push 0xcc0020
push ecx
sub eax, esi
push eax
push edx
push edi
push esi
push ecx
push eax
mov eax, dword [esp + 0x80]
push eax
call ebx
mov eax, dword [0x539458]
mov ecx, dword [0x538594]
mov edx, dword [esp + 0x33c]
push 0xcc0020
sub eax, edi
push eax
sub ecx, esi
push ecx
push edx
push edi
push esi
push eax
mov eax, dword [0x493b50]
push ecx
push eax
call ebx
cmp ebp, 1
jle 0x448515
cmp dword [esp + 0x20], 0xffffffff
lea eax, [esp + 0x9c]
jne 0x4484f5
mov ecx, dword [0x539458]
sub ecx, edi
push ecx
push 0x493938
push 0x494100
jmp 0x448508
mov edx, dword [0x539458]
sub edx, edi
push edx
push 0x493938
push 0x494398
mov ecx, dword [0x538594]
sub ecx, esi
call fcn.00462810
mov eax, dword [0x539458]
mov ecx, dword [0x538594]
mov edx, dword [0x493b50]
push 0xcc0020
sub eax, edi
push eax
sub ecx, esi
push ecx
push edx
push edi
push esi
push eax
mov eax, dword [esp + 0x7c]
push ecx
push eax
call ebx
mov esi, dword [esp + 0x1c]
mov edi, dword [0x47829c]
xor ebp, ebp
lea esp, [esp]
mov ecx, dword [esi + 0x10]
push 1
push 0x202
push 0x202
push ecx
lea edx, [esp + 0x118]
push edx
call edi
test eax, eax
jne 0x448550
mov edi, edi
mov eax, dword [esi + 0x10]
push 1
push 0x102
push 0x102
push eax
lea ecx, [esp + 0x118]
push ecx
call edi
test eax, eax
jne 0x448570
mov edi, dword [0x4782c8]
mov ebx, dword [esp + 0x54]
jmp 0x4485a0
cmp dword [0x58ce64], ebp
jne 0x4492ec
push 1
push ebp
push ebp
push ebp
lea edx, [esp + 0xfc]
push edx
call dword [0x47829c]
test eax, eax
je 0x448cfe
mov ecx, dword [0x497c78]
mov edx, dword [esi + 0x10]
lea eax, [esp + 0xec]
push eax
push ecx
push edx
call dword [0x4782a4]
test eax, eax
jne 0x4485f2
lea eax, [esp + 0xec]
push eax
call dword [0x478288]
lea ecx, [esp + 0xec]
push ecx
call dword [0x4782ac]
cmp dword [esi + 0xa2c], 0x200
jne 0x448ad2
mov edx, dword [esp + 0x20]
mov edi, dword [0x5479dc]
mov ebx, dword [0x4eaba0]
mov esi, dword [0x538594]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x44], edx
mov dword [esp + 0x20], ebp
cmp dword [0x58ce0c], ebp
je 0x448732
cmp dword [0x58e608], eax
jl 0x4486ad
mov ecx, dword [esp + 0x1c]
mov esi, dword [edi*4 + 0x53f9f0]
mov ebx, dword [ecx + 0xa30]
cmp ebx, esi
jl 0x4486ad
mov ecx, edi
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a26c]
cdq
idiv dword [ecx + 0x59a28c]
cmp dword [ecx + 0x59a280], 1
jne 0x44867e
cdq
sub eax, edx
sar eax, 1
add eax, esi
cmp ebx, eax
jg 0x4486ad
mov edx, dword [esp + 0x1c]
mov eax, dword [edi*4 + 0x4a86d0]
mov edx, dword [edx + 0xa34]
cmp edx, eax
jl 0x4486ad
mov ecx, dword [ecx + 0x59a270]
add ecx, eax
cmp edx, ecx
jg 0x4486ad
mov dword [esp + 0x20], 1
cmp dword [esp + 0x2c], 1
jle 0x4487ea
mov esi, dword [0x547cf8]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esi*4 + 0x53f9f0]
mov ebx, dword [eax + 0xa30]
cmp ebx, ebp
jl 0x4487ea
mov ecx, esi
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a26c]
cdq
idiv dword [ecx + 0x59a28c]
cmp dword [ecx + 0x59a280], 1
jne 0x4486fa
cdq
sub eax, edx
sar eax, 1
add eax, ebp
cmp ebx, eax
jg 0x4487ea
mov edx, dword [esp + 0x1c]
mov eax, dword [esi*4 + 0x4a86d0]
mov edx, dword [edx + 0xa34]
cmp edx, eax
jl 0x4487ea
mov ecx, dword [ecx + 0x59a270]
add ecx, eax
cmp edx, ecx
jg 0x4487ea
jmp 0x4487e2
cmp dword [0x58e608], eax
mov dword [esp + 0x20], ebp
jl 0x44878c
mov eax, dword [0x4940cc]
cdq
idiv dword [0x4940ec]
cmp dword [0x4940e0], 1
jne 0x448758
cdq
sub eax, edx
sar eax, 1
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xa30]
mov ebp, esi
sub ebp, eax
cmp ecx, ebp
jle 0x44878c
cmp ecx, esi
jge 0x44878c
mov eax, dword [edx + 0xa34]
cmp eax, ebx
jle 0x44878c
mov ecx, dword [0x4940d0]
add ecx, ebx
cmp eax, ecx
jge 0x44878c
mov dword [esp + 0x20], 1
mov ecx, 1
cmp dword [esp + 0x2c], ecx
jle 0x4487ea
mov eax, dword [0x4945fc]
cdq
idiv dword [0x49461c]
cmp dword [0x494610], ecx
jne 0x4487b0
cdq
sub eax, edx
sar eax, 1
mov edx, dword [esp + 0x1c]
mov ecx, dword [edx + 0xa30]
mov ebx, esi
sub ebx, eax
cmp ecx, ebx
jle 0x4487ea
cmp ecx, esi
jge 0x4487ea
mov eax, dword [edx + 0xa34]
mov ecx, dword [0x539458]
mov edx, ecx
sub edx, dword [0x494600]
cmp eax, edx
jle 0x4487ea
cmp eax, ecx
jge 0x4487ea
mov dword [esp + 0x20], 0xffffffff
mov eax, dword [esp + 0x20]
xor ebp, ebp
cmp dword [esp + 0x44], eax
je 0x448ac8
cmp dword [0x58ce0c], ebp
jne 0x448953
mov ecx, dword [0x4eaba0]
mov eax, dword [0x538594]
mov esi, dword [esp + 0xc8]
mov edx, dword [esp + 0x5d4]
mov edi, dword [esp + 0x74]
mov ebx, dword [0x478060]
push 0xcc0020
push ecx
sub eax, esi
push eax
push edx
push edi
push esi
push ecx
push eax
mov eax, dword [0x493b50]
push eax
call ebx
mov ecx, dword [esp + 0x28]
cmp dword [0x58e608], ecx
jl 0x448889
mov ecx, dword [0x538594]
sub ecx, esi
cmp dword [esp + 0x20], 1
jne 0x44886d
mov edx, dword [0x4eaba0]
push edx
push 0x493938
push 0x493bd0
jmp 0x44887d
mov eax, dword [0x4eaba0]
push eax
push 0x493938
push 0x493e68
lea eax, [esp + 0xa8]
call fcn.00462810
mov ecx, dword [0x4eaba0]
mov eax, dword [0x538594]
mov edx, dword [0x493b50]
push 0xcc0020
push ecx
sub eax, esi
push eax
push edx
push edi
push esi
push ecx
push eax
mov eax, dword [esp + 0x80]
push eax
call ebx
mov eax, dword [0x539458]
mov ecx, dword [0x538594]
mov edx, dword [esp + 0x33c]
push 0xcc0020
sub eax, edi
push eax
sub ecx, esi
push ecx
push edx
push edi
push esi
push eax
mov eax, dword [0x493b50]
push ecx
push eax
call ebx
cmp dword [esp + 0x2c], 1
jle 0x448926
cmp dword [esp + 0x20], 0xffffffff
lea eax, [esp + 0x9c]
jne 0x448906
mov ecx, dword [0x539458]
sub ecx, edi
push ecx
push 0x493938
push 0x494100
jmp 0x448919
mov edx, dword [0x539458]
sub edx, edi
push edx
push 0x493938
push 0x494398
mov ecx, dword [0x538594]
sub ecx, esi
call fcn.00462810
mov eax, dword [0x539458]
mov ecx, dword [0x538594]
mov edx, dword [0x493b50]
push 0xcc0020
sub eax, edi
push eax
sub ecx, esi
push ecx
push edx
push edi
push esi
push eax
mov eax, dword [esp + 0x7c]
push ecx
push eax
call ebx
jmp 0x448ac8
mov ecx, dword [esp + 0x28]
cmp dword [0x58e608], ecx
mov ebx, 1
jl 0x44898f
cmp eax, ebx
jne 0x44897f
mov edx, edi
imul edx, edx, 0x294
mov dword [edi*4 + 0x5371c8], ebx
mov dword [edx + 0x59a288], ebx
jmp 0x448996
mov eax, edi
imul eax, eax, 0x294
mov dword [eax + 0x59a288], ebp
jmp 0x448996
mov dword [edi*4 + 0x5371c8], ebp
mov ecx, dword [0x498484]
mov dword [esp + 0x4c], ecx
mov ecx, edi
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a26c]
mov esi, dword [ecx + 0x59a270]
cdq
idiv dword [ecx + 0x59a28c]
mov dword [0x498484], ebx
cmp dword [ecx + 0x59a280], ebx
jne 0x4489ce
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [edi*4 + 0x4a86d0]
mov ecx, dword [edi*4 + 0x53f9f0]
lea edx, [ebx + esi + 1]
push edx
lea edx, [ecx + eax + 1]
call fcn.0044cc60
add esp, 4
mov eax, 0x538798
call fcn.00454390
mov ecx, dword [esp + 0x1c]
push 0x538798
xor edi, edi
push edi
mov ebx, 1
push ebx
xor edx, edx
call fcn.0045cc30
cmp dword [esp + 0x2c], ebx
mov ecx, dword [0x547cf8]
lea esi, [ecx*4]
jle 0x448a50
cmp dword [esp + 0x20], 0xffffffff
mov dword [esi + 0x5371c8], ebx
jne 0x448a40
mov eax, ecx
imul eax, eax, 0x294
mov dword [eax + 0x59a288], ebx
jmp 0x448a56
mov edx, ecx
imul edx, edx, 0x294
mov dword [edx + 0x59a288], edi
jmp 0x448a56
mov dword [esi + 0x5371c8], edi
imul ecx, ecx, 0x294
mov eax, dword [ecx + 0x59a26c]
mov ebp, dword [ecx + 0x59a270]
cdq
idiv dword [ecx + 0x59a28c]
mov dword [0x498484], ebx
cmp dword [ecx + 0x59a280], ebx
jne 0x448a82
cdq
sub eax, edx
sar eax, 1
mov ebx, dword [esi + 0x4a86d0]
mov ecx, dword [esi + 0x53f9f0]
lea edx, [ebx + ebp + 1]
push edx
lea edx, [ecx + eax + 1]
call fcn.0044cc60
add esp, 4
mov eax, 0x538798
call fcn.00454390
mov ecx, dword [esp + 0x1c]
push 0x538798
push 0
push 1
xor edx, edx
call fcn.0045cc30
mov eax, dword [esp + 0x4c]
mov dword [0x498484], eax
xor ebp, ebp
mov ebx, dword [esp + 0x54]
mov edi, dword [0x4782c8]
mov eax, dword [0x497b6c]
cmp dword [eax + 0xa2c], 0x20a
mov esi, dword [0x4782b0]
jne 0x448b48
cmp dword [eax + 0xa30], ebp
jle 0x448b07
mov eax, dword [esp + 0x28]
cmp dword [0x58e608], eax
jl 0x448cc3
mov dword [esp + 0x2c], eax
jmp 0x448b1a
mov eax, 1
cmp dword [esp + 0x2c], eax
jle 0x448cc3
sub dword [esp + 0x2c], eax
cmp byte [0x52b3b0], 0
je 0x448d17
push ebp
push 0x52b3b0
cmp dword [0x650bf8], ebp
je 0x448d0e
mov ecx, 0xa
call fcn.0046d790
jmp 0x448d17
call esi
mov ecx, dword [0x497b6c]
cmp eax, dword [ecx + 0x10]
je 0x448b59
xor eax, eax
jmp 0x448b60
push 0x22
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448bca
call esi
mov edx, dword [0x497b6c]
cmp eax, dword [edx + 0x10]
je 0x448b78
xor eax, eax
jmp 0x448b7f
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448bca
call esi
mov ecx, dword [0x497b6c]
cmp eax, dword [ecx + 0x10]
je 0x448b97
xor eax, eax
jmp 0x448b9e
push 0x21
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448bca
call esi
mov edx, dword [0x497b6c]
cmp eax, dword [edx + 0x10]
je 0x448bb6
xor eax, eax
jmp 0x448bbd
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448bca
xor ebx, ebx
mov dword [esp + 0x54], ebx
call esi
mov ecx, dword [0x497b6c]
cmp eax, dword [ecx + 0x10]
je 0x448bdb
xor eax, eax
jmp 0x448be2
push 0x22
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448c08
call esi
mov edx, dword [0x497b6c]
cmp eax, dword [edx + 0x10]
je 0x448bfa
xor eax, eax
jmp 0x448c01
push 0x28
call edi
movzx eax, ax
test eax, 0x8000
je 0x448c21
call dword [0x4783b0]
lea ecx, [ebx + 0x7d]
cmp eax, ecx
ja 0x448cb8
cmp eax, ebx
jb 0x448cb8
call esi
mov edx, dword [0x497b6c]
cmp eax, dword [edx + 0x10]
je 0x448c32
xor eax, eax
jmp 0x448c39
push 0x21
call edi
movzx eax, ax
test eax, 0x8000
jne 0x448c5f
call esi
mov ecx, dword [0x497b6c]
cmp eax, dword [ecx + 0x10]
je 0x448c51
xor eax, eax
jmp 0x448c58
push 0x26
call edi
movzx eax, ax
test eax, 0x8000
je 0x448cc3
call dword [0x4783b0]
lea edx, [ebx + 0x7d]
cmp eax, edx
ja 0x448c70
cmp eax, ebx
jae 0x448cc3
mov eax, dword [esp + 0x28]
cmp dword [0x58e608], eax
jl 0x448cc3
mov dword [esp + 0x2c], eax
call dword [0x4783b0]
cmp byte [0x52b3b0], 0
mov dword [esp + 0x54], eax
je 0x448ef1
push ebp
push 0x52b3b0
cmp dword [0x650bf8], ebp
je 0x448ee8
mov ecx, 0xa
call fcn.0046d790
jmp 0x448ef1
cmp dword [esp + 0x2c], 1
jg 0x4490c4
cmp dword [0x58cae8], ebp
jne 0x4490d7
cmp dword [0x58caec], ebp
jne 0x4494d0
call esi
mov ecx, dword [0x497b6c]
cmp eax, dword [ecx + 0x10]
je 0x448cec
xor eax, eax
jmp 0x448cf3
push 0x1b
call edi
movzx eax, ax
test eax, 0x8000
jne 0x4494d0
push ebp
call dword [0x47823c]
mov esi, dword [esp + 0x1c]
jmp 0x4485a0
mov ecx, dword [esp + 0x24]
call fcn.0046ef70
mov eax, dword [esp + 0x33c]
cmp eax, ebp
je 0x448d5b
push eax
call dword [0x478064]
mov esi, dword [0x47806c]
cmp dword [esp + 0x378], ebp
je 0x448d61
mov edx, dword [esp + 0x384]
push edx
call esi
mov eax, dword [esp + 0x378]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
jmp 0x448d61
mov esi, dword [0x47806c]
mov eax, dword [esp + 0x3b0]
mov ebx, 1
lea edi, [ebx + 2]
mov byte [esp + 0x124], 0
mov dword [esp + 0x3b4], ebp
mov dword [esp + 0x3ac], ebp
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3a4], ebp
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a0], 0xffffffff
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x324], ebp
mov dword [esp + 0x328], ebx
mov dword [esp + 0x398], ebp
cmp eax, ebp
je 0x448dd6
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x3b0], ebp
cmp dword [esp + 0x378], ebp
je 0x448e00
mov ecx, dword [esp + 0x384]
push ecx
call esi
mov edx, dword [esp + 0x378]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
mov eax, dword [esp + 0x5d4]
cmp eax, ebp
je 0x448e3c
push eax
call dword [0x478064]
cmp dword [esp + 0x610], ebp
je 0x448e3c
mov eax, dword [esp + 0x61c]
push eax
call esi
mov ecx, dword [esp + 0x610]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x648]
mov byte [esp + 0x3bc], 0
mov dword [esp + 0x64c], ebp
mov dword [esp + 0x644], ebp
mov dword [esp + 0x640], ebx
mov dword [esp + 0x63c], ebp
mov dword [esp + 0x634], edi
mov dword [esp + 0x638], 0xffffffff
mov dword [esp + 0x5d4], ebp
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x630], ebp
cmp eax, ebp
je 0x448ea9
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x648], ebp
cmp dword [esp + 0x610], ebp
je 0x448ed3
mov edx, dword [esp + 0x61c]
push edx
call esi
mov eax, dword [esp + 0x610]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x68]
push ecx
push edx
call dword [0x4782a0]
jmp 0x446c94
mov ecx, dword [esp + 0x24]
call fcn.0046ef70
mov eax, dword [esp + 0x33c]
cmp eax, ebp
je 0x448f35
push eax
call dword [0x478064]
mov esi, dword [0x47806c]
cmp dword [esp + 0x378], ebp
je 0x448f3b
mov ecx, dword [esp + 0x384]
push ecx
call esi
mov edx, dword [esp + 0x378]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
jmp 0x448f3b
mov esi, dword [0x47806c]
mov eax, dword [esp + 0x3b0]
mov ebx, 1
mov edi, 3
mov dword [esp + 0x398], ebp
mov dword [esp + 0x328], ebx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x3a0], 0xffffffff
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a4], ebp
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3ac], ebp
mov dword [esp + 0x3b4], ebp
mov byte [esp + 0x124], 0
cmp eax, ebp
je 0x448fb2
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x3b0], ebp
cmp dword [esp + 0x378], ebp
je 0x448fdc
mov eax, dword [esp + 0x384]
push eax
call esi
mov ecx, dword [esp + 0x378]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
mov eax, dword [esp + 0x5d4]
cmp eax, ebp
je 0x449018
push eax
call dword [0x478064]
cmp dword [esp + 0x610], ebp
je 0x449018
mov edx, dword [esp + 0x61c]
push edx
call esi
mov eax, dword [esp + 0x610]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x648]
mov dword [esp + 0x630], ebp
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5d4], ebp
mov dword [esp + 0x638], 0xffffffff
mov dword [esp + 0x634], edi
mov dword [esp + 0x63c], ebp
mov dword [esp + 0x640], ebx
mov dword [esp + 0x644], ebp
mov dword [esp + 0x64c], ebp
mov byte [esp + 0x3bc], 0
cmp eax, ebp
je 0x449085
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x648], ebp
cmp dword [esp + 0x610], ebp
je 0x4490af
mov ecx, dword [esp + 0x61c]
push ecx
call esi
mov edx, dword [esp + 0x610]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call dword [0x4782a0]
jmp 0x446c94
dec dword [esp + 0x2c]
call dword [0x4783b0]
mov dword [esp + 0x54], eax
jmp 0x448b1a
mov eax, dword [esp + 0x20]
mov dword [0x58cae8], ebp
cmp eax, ebp
je 0x4494c7
add dword [esp + 0x2c], eax
cmp byte [0x52b3b0], 0
je 0x449119
push ebp
push 0x52b3b0
cmp dword [0x650bf8], ebp
je 0x449110
mov ecx, 0xa
call fcn.0046d790
jmp 0x449119
mov ecx, dword [esp + 0x24]
call fcn.0046ef70
mov eax, dword [esp + 0x33c]
cmp eax, ebp
je 0x44915d
push eax
call dword [0x478064]
mov esi, dword [0x47806c]
cmp dword [esp + 0x378], ebp
je 0x449163
mov eax, dword [esp + 0x384]
push eax
call esi
mov ecx, dword [esp + 0x378]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
jmp 0x449163
mov esi, dword [0x47806c]
mov eax, dword [esp + 0x3b0]
mov ebx, 1
mov edi, 3
mov dword [esp + 0x398], ebp
mov dword [esp + 0x328], ebx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x3a0], 0xffffffff
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a4], ebp
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3ac], ebp
mov dword [esp + 0x3b4], ebp
mov byte [esp + 0x124], 0
cmp eax, ebp
je 0x4491da
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x3b0], ebp
cmp dword [esp + 0x378], ebp
je 0x449204
mov edx, dword [esp + 0x384]
push edx
call esi
mov eax, dword [esp + 0x378]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
mov eax, dword [esp + 0x5d4]
cmp eax, ebp
je 0x449240
push eax
call dword [0x478064]
cmp dword [esp + 0x610], ebp
je 0x449240
mov ecx, dword [esp + 0x61c]
push ecx
call esi
mov edx, dword [esp + 0x610]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x648]
mov dword [esp + 0x630], ebp
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5d4], ebp
mov dword [esp + 0x638], 0xffffffff
mov dword [esp + 0x634], edi
mov dword [esp + 0x63c], ebp
mov dword [esp + 0x640], ebx
mov dword [esp + 0x644], ebp
mov dword [esp + 0x64c], ebp
mov byte [esp + 0x3bc], 0
cmp eax, ebp
je 0x4492ad
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x648], ebp
cmp dword [esp + 0x610], ebp
je 0x4492d7
mov eax, dword [esp + 0x61c]
push eax
call esi
mov ecx, dword [esp + 0x610]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
push edx
push eax
call dword [0x4782a0]
jmp 0x446c94
mov eax, dword [esp + 0x33c]
cmp eax, ebp
je 0x449330
push eax
call dword [0x478064]
mov esi, dword [0x47806c]
cmp dword [esp + 0x378], ebp
je 0x449336
mov ecx, dword [esp + 0x384]
push ecx
call esi
mov edx, dword [esp + 0x378]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
jmp 0x449336
mov esi, dword [0x47806c]
mov eax, dword [esp + 0x3b0]
mov ebx, 1
mov edi, 3
mov dword [esp + 0x398], ebp
mov dword [esp + 0x328], ebx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x3a0], 0xffffffff
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a4], ebp
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3ac], ebp
mov dword [esp + 0x3b4], ebp
mov byte [esp + 0x124], 0
cmp eax, ebp
je 0x4493ad
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x3b0], ebp
cmp dword [esp + 0x378], ebp
je 0x4493d7
mov eax, dword [esp + 0x384]
push eax
call esi
mov ecx, dword [esp + 0x378]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
mov eax, dword [esp + 0x5d4]
cmp eax, ebp
je 0x449413
push eax
call dword [0x478064]
cmp dword [esp + 0x610], ebp
je 0x449413
mov edx, dword [esp + 0x61c]
push edx
call esi
mov eax, dword [esp + 0x610]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x648]
mov dword [esp + 0x630], ebp
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5d4], ebp
mov dword [esp + 0x638], 0xffffffff
mov dword [esp + 0x634], edi
mov dword [esp + 0x63c], ebp
mov dword [esp + 0x640], ebx
mov dword [esp + 0x644], ebp
mov dword [esp + 0x64c], ebp
mov byte [esp + 0x3bc], 0
cmp eax, ebp
je 0x449480
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x648], ebp
cmp dword [esp + 0x610], ebp
je 0x4494aa
mov ecx, dword [esp + 0x61c]
push ecx
call esi
mov edx, dword [esp + 0x610]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x68]
push eax
push ecx
call dword [0x4782a0]
mov dword [0x58cb74], ebp
xor eax, eax
jmp 0x449798
mov dword [0x58cae8], ebp
jmp 0x4494fe
call esi
mov edx, dword [0x497b6c]
cmp eax, dword [edx + 0x10]
je 0x4494e1
xor eax, eax
jmp 0x4494e8
push 0x1b
call edi
movzx eax, ax
test eax, 0x8000
je 0x4494f8
push ebp
call dword [0x47823c]
jmp 0x4494d0
mov dword [0x58caec], ebp
mov eax, dword [esp + 0x33c]
cmp eax, ebp
je 0x449542
push eax
call dword [0x478064]
mov esi, dword [0x47806c]
cmp dword [esp + 0x378], ebp
je 0x449548
mov eax, dword [esp + 0x384]
push eax
call esi
mov ecx, dword [esp + 0x378]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
jmp 0x449548
mov esi, dword [0x47806c]
mov eax, dword [esp + 0x3b0]
mov ebx, 1
mov edi, 3
mov dword [esp + 0x398], ebp
mov dword [esp + 0x328], ebx
mov dword [esp + 0x324], ebp
mov dword [esp + 0x33c], ebp
mov dword [esp + 0x3a0], 0xffffffff
mov dword [esp + 0x39c], edi
mov dword [esp + 0x3a4], ebp
mov dword [esp + 0x3a8], ebx
mov dword [esp + 0x3ac], ebp
mov dword [esp + 0x3b4], ebp
mov byte [esp + 0x124], 0
cmp eax, ebp
je 0x4495bf
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x3b0], ebp
cmp dword [esp + 0x378], ebp
je 0x4495e9
mov edx, dword [esp + 0x384]
push edx
call esi
mov eax, dword [esp + 0x378]
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x378], ebp
mov eax, dword [esp + 0x5d4]
cmp eax, ebp
je 0x449625
push eax
call dword [0x478064]
cmp dword [esp + 0x610], ebp
je 0x449625
mov ecx, dword [esp + 0x61c]
push ecx
call esi
mov edx, dword [esp + 0x610]
push edx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov eax, dword [esp + 0x648]
mov dword [esp + 0x630], ebp
mov dword [esp + 0x5c0], ebx
mov dword [esp + 0x5bc], ebp
mov dword [esp + 0x5d4], ebp
mov dword [esp + 0x638], 0xffffffff
mov dword [esp + 0x634], edi
mov dword [esp + 0x63c], ebp
mov dword [esp + 0x640], ebx
mov dword [esp + 0x644], ebp
mov dword [esp + 0x64c], ebp
mov byte [esp + 0x3bc], 0
cmp eax, ebp
je 0x449692
push eax
call fcn.00407edf
add esp, 4
mov dword [esp + 0x648], ebp
cmp dword [esp + 0x610], ebp
je 0x4496bc
mov eax, dword [esp + 0x61c]
push eax
call esi
mov ecx, dword [esp + 0x610]
push ecx
call fcn.00407edf
add esp, 4
mov dword [esp + 0x610], ebp
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x68]
push edx
push eax
call dword [0x4782a0]
mov dword [esp + 0x1388], 0xffffffff
mov dword [0x58cb74], ebp
cmp dword [0x538590], ebx
jne 0x44974b
cmp dword [0x493800], ebp
je 0x44974b
mov ecx, dword [0x539458]
mov edx, dword [0x538594]
mov ebx, dword [0x4eaba0]
push ecx
mov ecx, dword [0x541434]
mov dword [0x498484], ebp
mov dword [0x538590], ebp
call fcn.0044cc60
add esp, 4
mov eax, 0x538798
call fcn.00454390
mov edx, dword [0x4ea874]
mov eax, dword [0x52ac0c]
mov ecx, dword [esp + 0x1c]
push 0x538798
push edx
push eax
mov edx, 0x541438
call fcn.0045cc30
xor ebp, ebp
mov ebx, 1
mov dword [0x498484], ebx
cmp dword [0x58ce0c], ebp
je 0x449773
mov ecx, dword [0x5479dc]
mov edx, dword [0x547cf8]
mov dword [ecx*4 + 0x5371c8], ebp
mov dword [edx*4 + 0x5371c8], ebp
xor eax, eax
call fcn.00454390
mov eax, dword [0x4ea874]
mov ecx, dword [0x52ac0c]
push ebp
push eax
push ecx
mov ecx, dword [esp + 0x28]
mov edx, 0x541438
call fcn.0045cc30
mov eax, ebx
mov ecx, dword [esp + 0x1380]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x1368]
xor ecx, esp
call fcn.00407ed0
add esp, 0x1378
ret