Function at 0x422160
Capabilities:
Check os version
Get number of processors
Resolve function by parsing pe exports

Disassembly:
cmp dword [0x4a2c14], 0
je 0x42183a
cmp dword [0x4a2c04], 0
je 0x421828
mov eax, dword [0x4a2bfc]
push eax
call dword [fcn.0048d2bc]
mov dword [0x4a2c04], 0
call dword [fcn.0048d564]
xor eax, eax
mov dword [0x4a2c14], eax
mov dword [0x4a2bfc], eax
call dword [fcn.0048d2e4]
mov edx, dword [0x49d3c8]
mov ecx, eax
sub ecx, dword [0x4a3104]
cmp ecx, dword [edx + 0xb0]
jbe 0x421887
push 0
push 0
push 0
push 0
lea eax, [esp + 0xf4]
push eax
call dword [fcn.0048d5f4]
test eax, eax
je 0x42187c
push 1
push 0xffffffffffffffff
call fcn.00401340
add esp, 8
call dword [fcn.0048d2e4]
mov dword [0x4a3104], eax
cmp byte [ebx + 0xc4], 0
jne 0x4218b8
cmp byte [ebx + 0xc6], 0
jne 0x4218b8
mov edx, dword [0x4a30f8]
cmp edx, 0xffffffff
jle 0x4218b8
mov ecx, dword [ebx + 0x28]
cmp ecx, edx
jle 0x4218b4
mov byte [ebx + 0xc4], 1
jmp 0x4218b8
inc ecx
mov dword [ebx + 0x28], ecx
mov ecx, dword [ebx + 4]
mov edx, dword [ebx]
cmp ecx, 0xffffffff
jl 0x4218db
jg 0x4218c9
cmp edx, 0xffffffff
jbe 0x4218db
cmp dword [0x4a30f4], ecx
jg 0x4218ed
jl 0x4218db
cmp dword [0x4a30f0], edx
jae 0x4218ed
mov ecx, dword [ebx + 0x24]
cmp ecx, 0xffffffff
jle 0x4218f9
sub eax, dword [0x4a3100]
cmp eax, ecx
jb 0x4218f9
push 1
push 0xa
call fcn.00401340
add esp, 8
cmp byte [ebx + 0xce], 0
je 0x42191a
push 1
push 0x8000012f
call fcn.00401340
add esp, 8
cmp byte [ebx + 0xce], 0
jne 0x421902
mov dword [0x4a2e74], esi
cmp byte [ebx + 0xcf], 0
je 0x421962
mov ecx, dword [0x4a2b48]
mov dword [ecx*4 + 0x4a2508], esi
call dword [fcn.0048d2e4]
mov ecx, dword [0x4a2b48]
mov dword [ecx*4 + 0x4a0348], eax
inc ecx
mov dword [0x4a2b48], ecx
cmp ecx, 0x190
jl 0x421962
mov dword [0x4a2b48], 0
mov al, byte [esi]
cmp al, 1
je 0x421985
cmp al, 0x6a
je 0x421985
mov edx, dword [ebp + 0xc]
push 0
push 0xffffffffffffffff
push edx
push esi
call fcn.0044f1f0
mov edi, eax
cmp edi, 1
jne 0x42555f
mov al, byte [esi]
cmp al, 0xa
jb 0x421aef
cmp al, 0x21
ja 0x421aef
add dword [0x4a30f0], 1
push esi
adc dword [0x4a30f4], 0
call fcn.00425cf0
cmp eax, 3
jne 0x421a47
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x6e
jne 0x4219df
mov ebx, dword [ebp + 0xc]
nop
mov ecx, dword [ecx + 0x14]
lea eax, [esp + 0x44]
push eax
push ebx
push 2
call fcn.004217a0
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, ecx
je 0x4219c0
jmp 0x4219f5
mov eax, dword [ebp + 0xc]
lea edx, [esp + 0x44]
push edx
push eax
push 3
call fcn.004217a0
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x42262f
cmp dword [ebp + 8], 3
je 0x425559
cmp edi, 1
jne 0x425559
test eax, eax
je 0x421a29
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x4255a2
mov dword [esp + 0x30], eax
jmp 0x42262b
mov esi, dword [esi + 0x18]
cmp byte [esi], 9
mov dword [esp + 0x30], esi
jne 0x42262b
mov edx, esi
mov eax, dword [edx + 0x18]
mov dword [esp + 0x30], eax
jmp 0x42262b
mov esi, dword [esi + 0x18]
cmp byte [esi], 9
mov dword [esp + 0x30], esi
jne 0x421ac9
mov ecx, dword [esi + 0x14]
cmp byte [ecx], 0x6e
jne 0x421a7f
mov ebx, dword [ebp + 0xc]
mov edi, edi
mov ecx, dword [ecx + 0x14]
lea edx, [esp + 0x44]
push edx
push ebx
push 2
call fcn.004217a0
mov ecx, dword [esi + 0x14]
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, ecx
je 0x421a60
jmp 0x421a95
mov edx, dword [ebp + 0xc]
lea eax, [esp + 0x44]
push eax
push edx
push 3
call fcn.004217a0
mov edi, eax
mov eax, dword [esp + 0x44]
cmp dword [ebp + 8], 3
je 0x425559
cmp edi, 1
jne 0x425559
test eax, eax
je 0x421ac1
mov ecx, dword [eax + 0x1c]
cmp ecx, dword [esi + 0x1c]
jne 0x4255a2
mov dword [esp + 0x30], eax
jmp 0x42262b
mov edx, dword [esi + 0x18]
jmp 0x422627
cmp dword [ebp + 8], 3
jne 0x42262b
mov eax, 1
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
movzx eax, al
add eax, 0xfffffff8
cmp eax, 0xd0
ja case.0x421b07.9
movzx eax, byte [eax + 0x4257f0]
jmp dword [eax*4 + 0x4257c0]
mov ecx, 1
add dword [0x4a30f0], ecx
adc dword [0x4a30f4], 0
mov eax, dword [esi + 0x18]
test eax, eax
je 0x421ba1
xor ebx, ebx
cmp dword [esi + 0xc], ecx
mov edx, eax
sete bl
mov dword [esp + 0x70], edx
test ebx, ebx
je 0x421b53
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x94]
mov dword [eax + 0x98], ecx
mov dword [eax + 0x94], 0
mov ecx, edx
call fcn.00401290
mov edi, eax
test ebx, ebx
je 0x421b7a
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x98]
mov dword [eax + 0x94], edx
mov dword [eax + 0x98], 0
test edi, edi
je 0x42555f
cmp edi, 8
je 0x42555f
cmp dword [ebp + 8], 3
je 0x425578
mov eax, dword [esi + 0x14]
mov dword [esp + 0x30], eax
jmp 0x42262b
push esi
mov bl, cl
call fcn.0043b870
mov edx, eax
mov dword [esp + 0x70], edx
test edx, edx
je 0x421cf0
mov ecx, dword [esp + 0x58]
cmp dword [ecx + 0x94], 0
je 0x421bda
mov eax, dword [edx + 4]
call fcn.0043b940
test eax, eax
je 0x421bda
mov ebx, 1
jmp 0x421b39
xor ebx, ebx
jmp 0x421b53
add dword [0x4a30f0], 1
adc dword [0x4a30f4], 0
mov eax, dword [esi + 0x18]
mov dword [esp + 0x70], eax
test eax, eax
jne 0x421c0e
push esi
mov bl, 1
call fcn.0043b870
mov dword [esp + 0x70], eax
test eax, eax
je 0x421cf0
cmp dword [ebp + 8], 3
mov ecx, dword [esp + 0x58]
mov dword [ecx + 0x9c], eax
je 0x42559f
mov ecx, dword [eax + 4]
mov edx, dword [esi + 0x1c]
cmp edx, dword [ecx + 0x1c]
jne 0x42559f
mov dword [esp + 0x30], ecx
jmp 0x42262b
add dword [0x4a30f0], 1
mov eax, dword [esp + 0x94]
adc dword [0x4a30f4], 0
mov eax, dword [eax + 0xc]
mov dword [esp + 0x38], eax
test eax, eax
jne 0x421c70
mov ecx, dword [0x4a0988]
push eax
push ecx
mov ecx, 0x4a2c18
call fcn.0041f1e0
mov dword [esp + 0x38], eax
mov edi, 1
test eax, eax
je 0x421d7f
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x421c9d
push 0x491a54
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x421c9d
mov al, 1
jmp 0x421c9f
xor al, al
lea edx, [esp + 0x70]
push edx
push eax
mov eax, dword [esp + 0x40]
push eax
xor eax, eax
call fcn.00469320
mov edx, dword [esp + 0x70]
mov dword [esp + 0x5c], eax
test edx, edx
je 0x421d73
mov eax, dword [edx + 4]
mov edi, dword [eax + 0x1c]
test edi, edi
je 0x421d09
mov ecx, dword [esi + 0x1c]
test ecx, ecx
je 0x421cdd
cmp edi, ecx
je 0x421d09
mov ecx, dword [ecx + 0x1c]
test ecx, ecx
jne 0x421cd2
push 0x49588a
push 0
push 0x495118
mov ecx, esi
call fcn.004296d0
xor eax, eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edi, dword [ebx + 0x94]
test edi, edi
je 0x421da8
call fcn.0043b940
test eax, eax
je 0x421da8
mov dword [esp + 0x50], 1
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x94], 0
mov ecx, edx
call fcn.00401290
cmp dword [esp + 0x50], 0
mov edi, eax
je 0x421d62
mov ecx, dword [ebx + 0x98]
mov dword [ebx + 0x94], ecx
mov dword [ebx + 0x98], 0
test edi, edi
je 0x42555f
cmp edi, 8
je 0x42555f
cmp dword [esp + 0x5c], 0
mov eax, 0x4900b0
jne 0x421d84
mov eax, 0x4916f4
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
cmp dword [ebp + 8], 3
je 0x425578
mov edx, dword [esi + 0x14]
jmp 0x422627
mov dword [esp + 0x50], 0
jmp 0x421d3c
mov eax, dword [esi + 0xc]
mov dword [esp + 0x3c], eax
cmp eax, 4
jne 0x421dd7
mov eax, dword [0x4a0988]
push eax
xor ebx, ebx
call fcn.00412530
add esp, 4
mov dword [esp + 0x74], eax
jmp 0x421eaa
cmp eax, 1
ja 0x421e5e
movzx eax, byte [esi + 1]
sub eax, 0
je 0x421e2a
dec eax
je 0x421e11
mov ecx, dword [0x4a0988]
push 0x49296c
push ecx
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x421e37
mov dword [esp + 0x3c], 5
jmp 0x421ef3
mov eax, dword [0x4a0988]
push 0
push 1
push 1
push 1
call fcn.00463e80
add esp, 0x10
test eax, eax
je 0x421e37
mov dword [esp + 0x3c], 2
jmp 0x421ef3
mov edx, dword [0x4a0988]
push edx
xor ebx, ebx
call fcn.00412530
mov ebx, dword [esp + 0x5c]
xor ecx, ecx
add esp, 4
test eax, eax
setne cl
mov dword [esp + 0x74], eax
add ecx, 3
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x3c]
cmp eax, 3
jne 0x421ea5
cmp byte [esi + 1], 1
ja 0x421e77
mov dword [esp + 0x68], 1
jmp 0x421e8e
mov esi, dword [0x4a098c]
call fcn.00413170
mov dword [esp + 0x68], eax
test eax, eax
je 0x425686
mov eax, dword [0x4a0990]
cmp byte [eax], 0x31
jne 0x421ee6
cmp byte [eax + 1], 0
jne 0x421ee6
mov byte [esp + 0x6c], 1
jmp 0x421eeb
cmp eax, 4
jne 0x421ef3
cmp byte [esi + 1], 2
ja 0x421eba
mov dword [esp + 0x68], 1
jmp 0x421ed1
mov esi, dword [0x4a0990]
call fcn.00413170
mov dword [esp + 0x68], eax
test eax, eax
je 0x4256b4
mov eax, dword [0x4a0994]
cmp byte [eax], 0x31
jne 0x421ee6
cmp byte [eax + 1], 0
mov byte [esp + 0x6c], 1
je 0x421eeb
mov byte [esp + 0x6c], 0
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x30]
xor ecx, ecx
mov byte [esp + 0x37], 0
mov dword [esp + 0x44], ecx
mov eax, dword [esi + 0x18]
cmp byte [eax], 0x6b
mov dword [esp + 0x50], eax
jne 0x421f17
mov edx, dword [eax + 0x14]
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], edx
jmp 0x421f1b
mov dword [esp + 0x38], ecx
mov eax, dword [ebx + 8]
mov edx, dword [ebx + 0xc]
mov dword [esp + 0x98], eax
mov eax, dword [ebx + 0x10]
mov dword [esp + 0x5c], eax
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x9c], edx
mov edx, dword [ebx + 0x14]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x60], edx
mov edx, dword [ebx + 0x1c]
add eax, 0xfffffffe
mov dword [esp + 0x48], edx
mov dword [ebx + 8], 1
mov dword [ebx + 0xc], ecx
cmp eax, 6
ja case.default.0x421f68
jmp dword [eax*4 + 0x4258c4]
cmp byte [esi + 1], cl
jbe 0x421f8f
xor edi, edi
mov ecx, esi
call fcn.0041d2c0
cmp byte [esi], 8
jne 0x421f88
mov ecx, eax
or ecx, edx
je 0x421f93
mov byte [esp + 0x7c], 0
jmp 0x421f98
xor eax, eax
xor edx, edx
mov byte [esp + 0x7c], 1
mov ecx, dword [esp + 0x7c]
mov ebx, dword [ebp + 0xc]
push ecx
push edx
mov edx, dword [esp + 0x40]
push eax
push edx
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x4b]
push ecx
push esi
call fcn.004271f0
mov edi, eax
jmp case.default.0x421f68
mov ebx, dword [ebp + 0xc]
lea edx, [esp + 0x44]
push edx
lea eax, [esp + 0x3b]
push eax
mov edi, esi
call fcn.00427330
mov edi, eax
jmp case.default.0x421f68
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x3f]
push eax
push ecx
push esi
call fcn.00427490
mov edi, eax
jmp case.default.0x421f68
mov edx, dword [0x4a0990]
push 0x4937e4
push edx
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x422031
mov eax, dword [esp + 0x38]
push eax
mov eax, dword [ebp + 0xc]
lea ecx, [esp + 0x48]
push ecx
lea edx, [esp + 0x3f]
push edx
push eax
push esi
call fcn.00428160
mov edi, eax
jmp case.default.0x421f68
mov ecx, dword [esp + 0x38]
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x48]
push edx
lea eax, [esp + 0x3f]
push eax
push ecx
push esi
call fcn.00428420
mov edi, eax
jmp case.default.0x421f68
lea esi, [esp + 0xb4]
call fcn.004135d0
or esi, 0xffffffff
mov dword [esp + 0xb4], 0x493ffc
mov dword [esp + 0xdc], esi
mov dword [esp + 0x53c], 0
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x422137
mov edx, dword [esp + 0x58]
mov edi, dword [edx + 0xd0]
push 0x30c
push eax
lea ecx, [esp + 0xbc]
and edi, 0x7fffffff
mov dword [esp + 0xc4], 0
call dword [0x494000]
test al, al
je 0x422137
mov eax, edi
mov ebx, 0x30c
lea ecx, [esp + 0xb4]
call fcn.00461f30
test al, al
je 0x422137
mov ecx, dword [esp + 0x38]
mov ebx, dword [ebp + 0xc]
lea eax, [esp + 0xb4]
push eax
push ecx
mov ecx, dword [esp + 0x38]
lea edx, [esp + 0x4c]
push edx
lea eax, [esp + 0x43]
push eax
push ecx
mov ecx, dword [0x4a0990]
call fcn.004286f0
mov edx, dword [esp + 0xb4]
mov edi, eax
mov eax, dword [edx + 8]
lea ecx, [esp + 0xb4]
call eax
lea ecx, [esp + 0xb4]
mov byte [esp + 0xcc], 1
mov dword [esp + 0x53c], esi
call fcn.00413810
mov esi, dword [esp + 0x30]
jmp case.default.0x421f68
add byte [eax], al
invalid
lea ecx, [esp + 0xb4]
mov edi, 1
mov dword [esp + 0x53c], esi
call fcn.00413810
mov esi, dword [esp + 0x30]
jmp case.default.0x421f68
mov ecx, dword [0x4a0988]
mov edx, dword [esp + 0x6c]
and al, 0x6c
mov eax, dword [esp + 0x68]
push ecx
mov ecx, dword [esp + 0x3c]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x4b]
push eax
push ecx
mov ecx, esi
call fcn.00427810
mov edi, eax
jmp case.default.0x421f68
mov edx, dword [0x4a0988]
push edx
lea ebx, [esp + 0x6b]
call fcn.00412530
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x4221e2
mov eax, dword [0x4a098c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x6c]
push eax
mov eax, dword [esp + 0x6c]
push ebx
push ecx
mov ecx, dword [esp + 0x44]
push edx
push eax
push ecx
mov ecx, dword [ebp + 0xc]
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x53]
push eax
push ecx
mov ecx, esi
call fcn.00427d10
cmp byte [esp + 0x67], 0
mov edi, eax
je case.default.0x421f68
push ebx
call dword [fcn.0048d040]
jmp case.default.0x421f68
mov edi, 1
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x98]
mov ecx, dword [esp + 0x9c]
mov dword [eax + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x10], edx
mov edx, dword [esp + 0x88]
mov dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x18], edx
mov dword [eax + 0x1c], ecx
test edi, edi
je 0x42555f
cmp edi, 7
je 0x42555f
cmp edi, 8
je 0x42555f
cmp byte [esp + 0x37], 0
jne 0x42262f
cmp dword [ebp + 8], 3
je 0x4256e1
mov eax, dword [esp + 0x44]
test eax, eax
je 0x42226c
mov edx, dword [eax + 0x1c]
cmp edx, dword [esi + 0x1c]
jne 0x4256f0
mov dword [esp + 0x30], eax
mov esi, eax
jmp 0x42262f
mov eax, dword [esp + 0x50]
mov dword [esp + 0x30], eax
jmp 0x42262b
cmp dword [esi + 0xc], 1
jne 0x42228b
mov ecx, dword [esi + 0x18]
mov dword [esp + 0x30], ecx
jmp 0x42262b
mov eax, dword [ebp + 0xc]
mov ecx, dword [esi + 0x14]
lea edx, [esp + 0x44]
push edx
push eax
push 2
call fcn.004217a0
mov edi, eax
mov eax, dword [esp + 0x44]
cmp eax, esi
je 0x42262f
cmp dword [ebp + 8], 3
je 0x425559
cmp edi, 1
jne 0x425559
test eax, eax
je 0x421ac1
mov ecx, dword [esi + 0x1c]
cmp ecx, dword [eax + 0x1c]
jne 0x4255a2
mov dword [esp + 0x30], eax
mov esi, eax
jmp 0x42262f
mov eax, dword [esp + 0x30]
mov esi, dword [0x4a09d8]
mov ebx, dword [0x49d3c8]
mov edi, 1
add dword [0x4a30f0], edi
mov edx, 0
mov dword [esp + 0x38], esi
adc dword [0x4a30f4], edx
mov al, byte [eax]
movzx ecx, al
dec ecx
cmp ecx, 0xd9
ja case.0x422321.8
movzx ecx, byte [ecx + 0x425b5c]
jmp dword [ecx*4 + 0x4258e0]
mov edx, dword [esp + 0x30]
push edx
call fcn.00435c40
jmp 0x42260c
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 1
mov ebx, dword [0x4a098c]
jbe 0x4223a3
mov eax, dword [eax + 8]
cmp byte [eax + 0x11], dl
jne case.0x422321.3
mov eax, dword [eax + 0x1c]
cmp eax, edx
je 0x422366
mov ecx, dword [eax + 4]
mov edx, dword [eax]
push ecx
push edx
jmp 0x422606
mov eax, dword [0x4a09dc]
cmp eax, edx
je 0x4223a3
cmp byte [ebx], dl
jne 0x4223a3
mov cl, byte [eax + 0x17]
test cl, cl
jne 0x422380
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x17]
movzx ecx, cl
sub ecx, edi
je 0x422397
sub ecx, 2
jne 0x4223a3
push esi
call fcn.00466390
jmp 0x42260c
mov ecx, esi
call fcn.00466190
jmp 0x42260c
push 1
push 0
push 0xffffffffffffffff
push ebx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1c], edx
je 0x4223d1
cmp byte [eax + 0x11], dl
jne 0x4223d1
mov dword [esp + 0x3c], edi
mov ebx, edi
xor edi, edi
jmp 0x42240e
mov edi, dword [0x4a09dc]
mov eax, dword [0x4a098c]
mov dword [esp + 0x3c], edx
cmp edi, edx
je 0x4223fa
cmp byte [eax], dl
jne 0x4223fa
mov cl, byte [edi + 0x17]
test cl, cl
jne 0x4223f5
mov ecx, dword [edi + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x422455
xor edi, edi
push 1
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
mov ebx, eax
push 1
mov eax, esi
call fcn.00411da0
mov edx, dword [0x4a0990]
mov dword [esp + 0x48], eax
mov al, byte [edx]
test al, al
je 0x4225a9
call fcn.00408bc0
movsx eax, al
push eax
push 0x493860
call fcn.00477c01
add esp, 8
test eax, eax
je 0x4225a9
test ebx, ebx
jne 0x422464
lea edi, [ebx + 1]
jmp case.0x422321.3
cmp edi, edx
je 0x4223fc
push 1
mov eax, edi
call fcn.00411da0
jmp 0x42240c
cmp dword [esp + 0x3c], 0
je 0x422479
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x1c]
fild qword [edx]
jmp 0x422497
test edi, edi
je 0x422488
push 0
mov eax, edi
call fcn.00411e90
jmp 0x422497
mov esi, dword [0x4a098c]
call fcn.00411d00
mov esi, dword [esp + 0x38]
push 1
fstp qword [esp + 0x4c]
mov ecx, esi
call fcn.00401230
cmp byte [eax], 0
je 0x4224dc
lea eax, [esp + 0x80]
push eax
push 1
mov ecx, esi
call fcn.00401230
call fcn.00463a60
add esp, 4
test eax, eax
jne 0x422500
push 1
push eax
push 0xffffffffffffffff
push 0x49588a
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
lea ecx, [esp + 0xa0]
push ecx
call dword [fcn.0048d288]
lea edx, [esp + 0x80]
push edx
lea eax, [esp + 0xa4]
push eax
call dword [fcn.0048d278]
mov ecx, dword [0x4a0990]
mov al, byte [ecx]
call fcn.00408bc0
movsx eax, al
add eax, 0xffffffbc
cmp eax, 0xf
ja case.0x42251f.69
movzx edx, byte [eax + 0x425c4c]
jmp dword [edx*4 + 0x425c38]
fld qword [esp + 0x48]
fmul qword [0x497c68]
jmp 0x42255a
fld qword [esp + 0x48]
fmul qword [0x497c60]
jmp 0x42255a
fld qword [esp + 0x48]
fmul qword [0x497c58]
jmp 0x42255a
fld qword [esp + 0x48]
fmul qword [0x497c50]
jmp 0x42255a
fld qword [esp + 0x48]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
call fcn.00489fd6
add esi, eax
adc edi, edx
mov dword [esp + 0x80], esi
push 0
lea eax, [esp + 0x84]
lea esi, [esp + 0x104]
mov dword [esp + 0x88], edi
call fcn.00463cf0
mov ecx, dword [esp + 0x3c]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
cmp ebx, 2
je 0x422640
cmp dword [esp + 0x48], 2
je 0x422640
cmp dword [esp + 0x3c], 0
je 0x4225d5
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 8]
mov eax, dword [ecx + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x4225f7
test edi, edi
je 0x4225e4
push 0
mov eax, edi
call fcn.00411e10
jmp 0x4225f3
mov esi, dword [0x4a098c]
call fcn.00411cd0
mov esi, dword [esp + 0x38]
mov ebx, edx
mov edi, eax
push 0
mov eax, esi
call fcn.00411e10
add eax, edi
adc edx, ebx
push edx
push eax
push esi
call fcn.00411d40
mov edi, eax
test edi, edi
je 0x42555f
cmp dword [ebp + 8], 3
je 0x42555f
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 0x14]
mov dword [esp + 0x30], edx
mov esi, dword [esp + 0x30]
test esi, esi
je 0x421ad3
mov ebx, dword [esp + 0x58]
jmp 0x421800
cmp dword [esp + 0x3c], 0
je 0x422655
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x1c]
fild qword [ecx]
jmp 0x422673
test edi, edi
je 0x422664
push 0
mov eax, edi
call fcn.00411e90
jmp 0x422673
mov esi, dword [0x4a098c]
call fcn.00411d00
mov esi, dword [esp + 0x38]
push 0
fstp qword [esp + 0x4c]
mov eax, esi
call fcn.00411e90
fadd qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00411d70
jmp 0x42260c
mov edx, dword [0x4a0990]
mov al, byte [edx]
test al, al
je 0x422778
call fcn.00408bc0
movsx eax, al
push eax
push 0x493860
call fcn.00477c01
add esp, 8
test eax, eax
je 0x422778
mov ecx, dword [0x4a09dc]
mov edi, dword [0x4a098c]
test ecx, ecx
je 0x4226f6
cmp byte [edi], 0
jne 0x4226f6
mov al, byte [ecx + 0x17]
test al, al
jne 0x4226e5
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4226f6
test ecx, ecx
je 0x4226f6
push 1
call fcn.00401230
mov edi, eax
push 1
mov ecx, esi
call fcn.00401230
push eax
lea ebx, [esp + 0x6a]
mov eax, edi
call fcn.00463da0
add esp, 4
cmp byte [esp + 0x66], 0
mov esi, eax
mov edi, edx
je 0x422732
mov ecx, dword [esp + 0x38]
push 1
push 0
push 0xffffffffffffffff
push 0x49588a
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [0x4a0990]
mov al, byte [ecx]
call fcn.00408bc0
cmp al, 0x44
je 0x42275a
cmp al, 0x48
je 0x422751
cmp al, 0x4d
jne 0x42276c
push 0
push 0x3c
jmp 0x422761
push 0
push 0xe10
jmp 0x422761
push 0
push 0x15180
push edi
push esi
call fcn.0048a050
mov esi, eax
mov edi, edx
mov edx, dword [esp + 0x38]
push edi
push esi
push edx
jmp 0x422607
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
cmp dword [eax + 0x1c], 0
je 0x422793
cmp byte [eax + 0x11], 0
jne 0x422793
mov dword [esp + 0x3c], edi
xor ebx, ebx
jmp 0x4227d5
mov ebx, dword [0x4a09dc]
mov eax, dword [0x4a098c]
mov dword [esp + 0x3c], 0
test ebx, ebx
je 0x4227c1
cmp byte [eax], 0
jne 0x4227c1
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4227bc
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x422810
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
mov edi, eax
push 1
mov eax, esi
call fcn.00411da0
cmp edi, 2
je 0x422853
cmp eax, 2
je 0x422853
cmp dword [esp + 0x3c], 0
je 0x42281f
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
push 0
mov eax, esi
call fcn.00411e10
sub eax, edi
sbb edx, ebx
jmp 0x422604
test ebx, ebx
je 0x4227c3
push 1
mov eax, ebx
call fcn.00411da0
jmp 0x4227d3
test ebx, ebx
je 0x42282e
push 0
mov eax, ebx
call fcn.00411e10
jmp 0x42283d
mov esi, dword [0x4a098c]
call fcn.00411cd0
mov esi, dword [esp + 0x38]
mov edi, eax
push 0
mov eax, esi
mov ebx, edx
call fcn.00411e10
sub eax, edi
sbb edx, ebx
jmp 0x422604
cmp dword [esp + 0x3c], 0
je 0x422868
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x422886
test ebx, ebx
je 0x422877
push 0
mov eax, ebx
call fcn.00411e90
jmp 0x422886
mov esi, dword [0x4a098c]
call fcn.00411d00
mov esi, dword [esp + 0x38]
push 0
fstp qword [esp + 0x4c]
mov eax, esi
call fcn.00411e90
fsub qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00411d70
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x1c], edx
je 0x4228c1
cmp byte [eax + 0x11], dl
jne 0x4228c1
mov dword [esp + 0x3c], edi
xor ebx, ebx
jmp 0x4228fe
mov ebx, dword [0x4a09dc]
mov eax, dword [0x4a098c]
mov dword [esp + 0x3c], edx
cmp ebx, edx
je 0x4228ea
cmp byte [eax], dl
jne 0x4228ea
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x4228e5
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x422929
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
mov edi, eax
push 1
mov eax, esi
call fcn.00411da0
cmp edi, 2
je 0x422971
cmp eax, 2
je 0x422971
cmp dword [esp + 0x3c], 0
je 0x422938
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x42295a
cmp ebx, edx
je 0x4228ec
push 1
mov eax, ebx
call fcn.00411da0
jmp 0x4228fc
test ebx, ebx
je 0x422947
push 0
mov eax, ebx
call fcn.00411e10
jmp 0x422956
mov esi, dword [0x4a098c]
call fcn.00411cd0
mov esi, dword [esp + 0x38]
mov ebx, edx
mov edi, eax
push 0
mov eax, esi
call fcn.00411e10
push ebx
push edi
push edx
push eax
call fcn.0047f2b0
jmp 0x422604
cmp dword [esp + 0x3c], 0
je 0x422986
mov ecx, dword [esp + 0x30]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x1c]
fild qword [eax]
jmp 0x4229a4
test ebx, ebx
je 0x422995
push 0
mov eax, ebx
call fcn.00411e90
jmp 0x4229a4
mov esi, dword [0x4a098c]
call fcn.00411d00
mov esi, dword [esp + 0x38]
push 0
fstp qword [esp + 0x4c]
mov eax, esi
call fcn.00411e90
fmul qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00411d70
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov eax, dword [ecx + 8]
cmp dword [eax + 0x1c], edx
je 0x4229df
cmp byte [eax + 0x11], dl
jne 0x4229df
mov dword [esp + 0x3c], edi
xor ebx, ebx
jmp 0x422a1c
mov ebx, dword [0x4a09dc]
mov eax, dword [0x4a098c]
mov dword [esp + 0x3c], edx
cmp ebx, edx
je 0x422a08
cmp byte [eax], dl
jne 0x422a08
mov cl, byte [ebx + 0x17]
test cl, cl
jne 0x422a03
mov ecx, dword [ebx + 0xc]
mov cl, byte [ecx + 0x17]
cmp cl, 1
je 0x422a47
xor ebx, ebx
push 1
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
mov edi, eax
push 1
mov eax, esi
call fcn.00411da0
cmp edi, 2
je 0x422a95
cmp eax, 2
je 0x422a95
cmp dword [esp + 0x3c], 0
je 0x422a56
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov eax, dword [eax + 0x1c]
mov edi, dword [eax]
mov ebx, dword [eax + 4]
jmp 0x422a78
cmp ebx, edx
je 0x422a0a
push 1
mov eax, ebx
call fcn.00411da0
jmp 0x422a1a
test ebx, ebx
je 0x422a65
push 0
mov eax, ebx
call fcn.00411e10
jmp 0x422a74
mov esi, dword [0x4a098c]
call fcn.00411cd0
mov esi, dword [esp + 0x38]
mov ebx, edx
mov edi, eax
mov ecx, edi
or ecx, ebx
je 0x422ad7
push 0
mov eax, esi
call fcn.00411e10
push ebx
push edi
push edx
push eax
call fcn.0048a050
jmp 0x422604
cmp dword [esp + 0x3c], 0
je 0x422aaa
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x1c]
fild qword [ecx]
jmp 0x422ac8
test ebx, ebx
je 0x422ab9
push 0
mov eax, ebx
call fcn.00411e90
jmp 0x422ac8
mov esi, dword [0x4a098c]
call fcn.00411d00
mov esi, dword [esp + 0x38]
fst qword [esp + 0x48]
fldz
fucompp
fnstsw ax
test ah, 0x44
jp 0x422aeb
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
push 0
mov eax, esi
call fcn.00411e90
fdiv qword [esp + 0x48]
sub esp, 8
fstp qword [esp]
push esi
call fcn.00411d70
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov ebx, eax
test ebx, ebx
jns 0x422b36
mov edx, dword [0x4a098c]
push 1
xor ebx, ebx
push ebx
push ebx
push edx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
cmp ebx, eax
jle 0x422b4a
mov ebx, eax
mov edx, dword [0x4a098c]
push 1
push 0
push ebx
push edx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov ebx, eax
test ebx, ebx
jns 0x422b78
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
cmp ebx, eax
jbe 0x422b8c
mov ebx, eax
push 1
sub eax, ebx
add eax, dword [0x4a098c]
push 0
push ebx
push eax
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 4
jb 0x422be5
mov eax, dword [eax + 8]
mov ecx, dword [eax + 0x34]
cmp byte [ecx], dl
je 0x422be5
mov ecx, dword [esp + 0x30]
mov edi, 3
call fcn.0041d2c0
mov dword [esp + 0x38], eax
cmp eax, 1
jge 0x422bed
push 1
push 0
push 0xffffffffffffffff
push 0
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov dword [esp + 0x38], 0x7fffffff
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov edx, dword [0x4a0998]
mov ebx, eax
mov al, byte [edx]
call fcn.00408bc0
cmp al, 0x4c
jne 0x422c31
cmp ebx, 1
jl 0x422ad7
mov eax, dword [esp + 0x38]
mov ecx, 1
sub ecx, eax
add ebx, ecx
cmp ebx, 1
jge 0x422c3b
lea edx, [eax + ebx - 1]
mov dword [esp + 0x38], edx
cmp ebx, 1
jge 0x422c3b
mov ebx, 1
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
cmp eax, ebx
jb 0x422ad7
mov ecx, edi
sub ecx, ebx
add eax, ecx
cmp dword [esp + 0x38], eax
jbe 0x422c61
mov dword [esp + 0x38], eax
mov edx, dword [0x4a098c]
mov eax, dword [esp + 0x38]
push 1
push 0
lea ebx, [ebx + edx - 1]
push eax
push ebx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov ebx, eax
test ebx, ebx
jns 0x422c97
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
cmp ebx, eax
jbe 0x422cab
mov ebx, eax
mov ecx, dword [0x4a098c]
push 1
push 0
sub eax, ebx
add ecx, ebx
push eax
push ecx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov ebx, eax
test ebx, ebx
jns 0x422cdd
xor ebx, ebx
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
cmp ebx, eax
jbe 0x422cf1
mov ebx, eax
mov edx, dword [0x4a098c]
push 1
push 0
sub eax, ebx
push eax
push edx
mov ecx, esi
call fcn.004668b0
jmp 0x42260c
push 1
mov ecx, esi
call fcn.00401230
mov edi, eax
cmp edi, dword [0x4a098c]
jne 0x422d2f
mov al, byte [esi + 0x17]
test al, al
jne 0x422d2b
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
je 0x422d6f
mov ecx, dword [esp + 0x30]
push 1
push 0
mov edi, 1
call fcn.0041d240
push eax
push 0
mov ecx, esi
call fcn.004668b0
cmp eax, edi
jne case.0x422321.8
push edi
mov ecx, esi
call fcn.00401230
mov ecx, dword [0x4a098c]
mov edi, eax
mov edx, edi
mov al, byte [ecx]
mov byte [edx], al
inc ecx
inc edx
test al, al
jne 0x422d65
mov ecx, dword [0x4a0990]
mov al, byte [ecx]
test al, al
je 0x422da5
call fcn.00408bc0
cmp al, 0x54
jne 0x422da5
mov edx, dword [0x4a0990]
cmp byte [edx + 1], 0
jne 0x422da5
mov eax, edi
call fcn.00411a80
push 0
mov eax, esi
call fcn.00412180
jmp 0x42260c
mov eax, dword [esp + 0x30]
cmp byte [eax], 0x31
push edi
jne 0x422dc3
call dword [fcn.0048d524]
push 0
mov eax, esi
call fcn.00412180
jmp 0x42260c
call dword [fcn.0048d618]
push 0
mov eax, esi
call fcn.00412180
jmp 0x42260c
mov eax, dword [0x4a09dc]
cmp eax, edx
je 0x422e01
cmp byte [eax + 0x17], dl
jne 0x422ded
mov ecx, dword [eax + 0xc]
mov cl, byte [ecx + 0x15]
jmp 0x422df0
mov cl, byte [eax + 0x15]
test cl, 1
je 0x422e01
call fcn.004120f0
push 0
jmp 0x422605
mov ecx, dword [esp + 0x30]
call fcn.0041d240
push 0
jmp 0x422605
mov esi, dword [0x4a0994]
mov al, byte [esi]
mov dword [esp + 0x48], esi
mov dword [esp + 0x50], 0xffffffff
test al, al
je 0x422e9f
call fcn.00408bc0
movsx eax, al
push eax
push 0x493868
call fcn.00477c01
add esp, 8
test eax, eax
je 0x422e9f
inc esi
cmp byte [esi], 0
je 0x422e9f
call fcn.0040c2c0
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x422f97
mov eax, dword [0x4a0990]
cmp byte [eax], 0
jne 0x422ea5
mov dword [esp + 0x50], 0
mov eax, 0x4900b0
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
mov eax, dword [esp + 0x50]
cdq
push 0x18
push edx
push eax
mov eax, dword [esp + 0x44]
call fcn.004010d0
mov edi, 1
jmp case.0x422321.3
mov dword [esp + 0x3c], edi
jmp 0x422e5a
mov edx, dword [0x4a098c]
mov ecx, dword [esp + 0x30]
mov edi, 4
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], eax
call fcn.0041d2c0
mov esi, eax
test esi, esi
jns 0x422ec9
xor esi, esi
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d240
mov edi, eax
cmp esi, edi
jge 0x422f97
mov eax, dword [esp + 0x48]
mov al, byte [eax]
cmp al, 0x31
je 0x422f62
call fcn.00408bc0
cmp al, 0x52
je 0x422f62
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d240
mov ecx, dword [esp + 0x60]
mov ebx, eax
lea eax, [esi + ecx]
mov esi, dword [esp + 0x5c]
mov edi, 1
jmp 0x422f20
mov edx, dword [0x49d3c8]
mov cl, byte [edx + 0xc9]
push esi
test cl, cl
jne 0x422f3b
call fcn.00464370
add esp, 4
jmp 0x422f53
cmp cl, 2
jne 0x422f4a
call fcn.004645f0
add esp, 4
jmp 0x422f53
push eax
call fcn.00477d42
add esp, 8
test eax, eax
je 0x422f97
cmp edi, dword [esp + 0x3c]
je 0x422f85
inc edi
add eax, ebx
jmp 0x422f20
movzx ecx, byte [ebx + 0xc9]
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x5c]
push eax
push ecx
mov ecx, dword [esp + 0x68]
push edx
mov eax, edi
sub eax, esi
push ecx
call fcn.00464170
add esp, 0x10
test eax, eax
je 0x422f97
sub eax, dword [esp + 0x60]
mov dword [esp + 0x50], eax
jns 0x422e6c
mov eax, 0x4916f4
jmp 0x422e71
mov edx, dword [esp + 0x30]
push edx
call fcn.00436030
jmp 0x42260c
mov eax, dword [0x4a0994]
mov ecx, dword [0x4a0990]
mov edx, dword [0x4a098c]
call fcn.0042c850
jmp 0x42260c
mov eax, dword [0x4a0994]
mov ecx, dword [0x4a0990]
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [0x4a0988]
push ecx
mov ecx, dword [0x4a098c]
push edx
call fcn.00436230
jmp 0x42260c
mov eax, dword [0x4a0988]
push eax
mov eax, dword [esp + 0x34]
call fcn.00436530
jmp 0x42260c
mov ecx, dword [0x4a0988]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [0x4a098c]
push edx
call fcn.00436b10
jmp 0x42260c
mov esi, dword [esp + 0x30]
push 0
push ecx
mov edi, 7
mov ecx, esi
call fcn.0041d2c0
add esp, 4
push eax
mov edi, 6
mov ecx, esi
call fcn.0041d2c0
push eax
push ecx
mov edi, 5
mov ecx, esi
call fcn.0041d2c0
add esp, 4
push eax
mov edi, 4
mov ecx, esi
call fcn.0041d2c0
push eax
push ecx
mov edi, 3
mov ecx, esi
call fcn.0041d2c0
add esp, 4
push eax
mov edi, 2
mov ecx, esi
call fcn.0041d2c0
push eax
mov eax, dword [0x4a09a8]
push esi
call fcn.00432410
jmp 0x42260c
mov esi, dword [esp + 0x30]
mov edi, 5
mov ecx, esi
call fcn.0041d2c0
push eax
push ecx
mov edi, 4
mov ecx, esi
call fcn.0041d2c0
add esp, 4
push eax
mov edi, 3
mov ecx, esi
call fcn.0041d2c0
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.0041d2c0
add esp, 4
push eax
mov eax, dword [0x4a09a0]
mov ecx, esi
call fcn.00432af0
jmp 0x42260c
mov eax, dword [0x4a0994]
mov esi, dword [esp + 0x30]
push eax
push ecx
mov edi, 2
mov ecx, esi
call fcn.0041d2c0
mov edi, 1
mov ecx, esi
mov ebx, eax
call fcn.0041d2c0
add esp, 4
mov ecx, eax
push esi
mov eax, ebx
call fcn.004471e0
jmp 0x42260c
mov ecx, dword [ebx + 0xac]
cmp al, 0x42
sete dl
push 0
push ecx
mov ecx, dword [0x4a0988]
movzx eax, dl
push eax
push ecx
call fcn.0040c6d0
add esp, 0x10
jmp case.0x422321.3
mov eax, dword [0x4a0988]
xor edx, edx
cmp dword [ebx + 0xac], 3
push 0
sete dl
lea edx, [edx + edx + 1]
push edx
push 0
push eax
call fcn.0040c6d0
add esp, 0x10
jmp case.0x422321.3
mov ecx, dword [0x4a0988]
push 0
push 2
push 0
push ecx
call fcn.0040c6d0
add esp, 0x10
jmp case.0x422321.3
mov edx, dword [0x4a0988]
push 0
push 0
push 0
push edx
call fcn.0040c6d0
add esp, 0x10
jmp case.0x422321.3
mov eax, dword [0x4a0988]
push eax
call fcn.0040e970
add esp, 4
jmp 0x42260c
mov ecx, dword [0x4a09a0]
mov edx, dword [0x4a0998]
push 0x49588a
push 0x49588a
push ecx
mov ecx, dword [0x4a0994]
push edx
mov edx, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
push ecx
push eax
mov eax, dword [0x4a099c]
call fcn.0040ec00
add esp, 0x20
jmp 0x42260c
mov edx, dword [0x4a099c]
mov ecx, dword [0x4a0994]
push edx
mov edx, dword [0x4a09a0]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push 0x49588a
push 0x49588a
push ecx
push edx
mov edx, dword [0x4a0988]
push eax
mov eax, dword [0x4a0998]
call fcn.0040ec00
add esp, 0x20
jmp 0x42260c
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a098c]
push 0x49588a
push 0x49588a
push ecx
mov ecx, dword [0x4a0988]
push 0x49588a
push 0x49588a
push edx
push ecx
push eax
mov eax, dword [0x4a0990]
mov edx, 0x49588a
call fcn.0040ec00
add esp, 0x20
jmp 0x42260c
mov esi, dword [esp + 0x30]
mov edi, 4
mov ecx, esi
call fcn.0041d2c0
push eax
mov ecx, esi
call fcn.00435150
jmp 0x42260c
mov ecx, dword [0x4a0990]
push 0
cmp al, 0x71
mov eax, dword [0x4a0994]
push 0
push eax
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
sete dl
push eax
call fcn.00467530
add esp, 0x14
test eax, eax
je case.0x422321.3
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle case.0x422321.3
push 1
push eax
call fcn.00401340
add esp, 8
jmp case.0x422321.3
mov edx, dword [0x4a0988]
push 9
push 0x49386c
push edx
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x423321
mov eax, dword [0x4a098c]
cmp byte [eax], 0
jne 0x423321
mov ecx, dword [0x4a0994]
cmp byte [ecx], 0
mov byte [esp + 0x43], 1
je 0x423326
mov byte [esp + 0x43], 0
mov esi, dword [esp + 0x30]
mov al, byte [esi]
xor edx, edx
cmp byte [esp + 0x43], dl
setne dl
lea edi, [edx - 1]
and edi, 0x14
cmp al, 0x7d
je 0x423384
cmp al, 0x7e
je 0x423384
mov eax, dword [0x4a0990]
cmp byte [eax], 0
je 0x4233bc
mov al, byte [esi]
cmp al, 0x7d
je 0x423401
cmp al, 0x7e
je 0x423403
mov ecx, dword [0x4a0990]
mov edx, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [0x4a0994]
push eax
call fcn.0042e260
jmp 0x42260c
mov ecx, dword [0x4a0990]
cmp byte [ecx], 0
je 0x4233b1
mov edi, 2
mov ecx, esi
call fcn.0041d370
fmul qword [0x497bd8]
call fcn.00489fa0
mov edi, eax
test edi, edi
jne 0x4233b1
mov edi, 0x1f4
mov edx, dword [0x4a0998]
cmp byte [edx], 0
jne 0x42334d
cmp byte [esp + 0x43], 0
je 0x42334d
mov ecx, dword [0x4a0988]
add ecx, 9
lea esp, [esp]
mov al, byte [ecx]
cmp al, 0x20
je 0x4233da
cmp al, 9
jne 0x4233dd
inc ecx
jmp 0x4233d0
push 0
push ecx
mov ecx, 0x4a2c18
call fcn.0041f1e0
test eax, eax
je 0x42334d
mov cl, byte [esi]
push eax
mov edx, edi
call fcn.00469150
jmp 0x42260c
cmp al, 0x7e
mov edx, dword [0x4a0998]
sete al
movzx ecx, al
mov eax, dword [0x4a098c]
push ecx
push edx
push edi
push eax
mov eax, dword [0x4a0994]
push ebx
mov ebx, dword [0x4a0988]
call fcn.00467820
add esp, 0x14
test eax, eax
je 0x423449
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle 0x423449
push 1
push eax
call fcn.00401340
add esp, 8
mov edi, 1
jmp case.0x422321.3
mov ecx, dword [0x4a098c]
call fcn.00431d30
jmp 0x42260c
mov edx, dword [0x4a098c]
mov eax, dword [0x4a0988]
push edx
push eax
call dword [0x48d274]
test eax, eax
mov eax, 0x4900b0
jne 0x423484
mov eax, 0x4916f4
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
lea ecx, [esp + 0xe0]
push ecx
push 0x3a98
push 1
push 0x493878
push 0
push 0x1a
push 0xffff
call dword [fcn.0048d4fc]
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
test eax, eax
je 0x4234dd
push 0x4900b0
call fcn.004668b0
jmp 0x42260c
push 0x4916f4
call fcn.004668b0
jmp 0x42260c
mov edx, dword [0x4a098c]
mov eax, dword [0x4a0988]
push edx
push eax
call fcn.004488a0
jmp 0x42260c
mov ecx, dword [0x4a0988]
push 0
push 0xffffffffffffffff
push ecx
mov eax, 0x4a3108
call fcn.004616e0
mov edx, dword [0x4a098c]
add esp, 0xc
push 0
push 0xffffffffffffffff
push edx
mov eax, 0x4a3114
call fcn.004616e0
mov eax, dword [0x4a0990]
add esp, 0xc
push 0
push 0xffffffffffffffff
push eax
mov eax, 0x4a3120
call fcn.004616e0
add esp, 0xc
jmp case.0x422321.3
mov eax, dword [0x4a0990]
push 0x4915f8
call fcn.00464370
mov edx, dword [esp + 0x34]
add esp, 4
mov cl, 3
test eax, eax
je 0x4235c4
cmp cl, byte [edx + 1]
mov ecx, dword [0x4a0990]
mov edx, dword [0x4a098c]
sbb eax, eax
and eax, dword [0x4a09e4]
push eax
mov eax, dword [0x4a0988]
push 1
push 1
push 0
push ecx
push 0
push edx
push 0
push eax
push 0x4a2c18
call fcn.00429dc0
test eax, eax
mov eax, 0x4900b0
jne 0x4235ad
mov eax, 0x493884
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
cmp cl, byte [edx + 1]
mov ecx, dword [0x4a0990]
mov edx, dword [0x4a098c]
sbb eax, eax
and eax, dword [0x4a09e4]
push eax
mov eax, dword [0x4a0988]
push 1
push 0
push 0
push ecx
push 1
push edx
push 0
push eax
push 0x4a2c18
call fcn.00429dc0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
push ecx
call fcn.0042e340
jmp 0x42260c
mov edx, dword [esp + 0x30]
cmp byte [edx + 1], 2
jbe 0x423652
mov eax, dword [0x4a09a0]
mov ecx, dword [0x4a099c]
mov edx, dword [0x4a0998]
push eax
mov eax, dword [0x4a0994]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a09a4]
push eax
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
call fcn.0042ea00
jmp 0x42260c
mov edx, dword [0x4a098c]
mov eax, dword [0x4a0988]
push 0x49588a
push 0x49588a
push 0x49588a
push edx
mov edx, 0x49588a
push eax
mov eax, edx
mov ecx, edx
call fcn.0042ea00
jmp 0x42260c
mov ecx, dword [0x4a09b0]
mov edx, dword [0x4a09ac]
mov eax, dword [0x4a09a8]
push ecx
mov ecx, dword [0x4a09a4]
push edx
mov edx, dword [0x4a09a0]
push eax
mov eax, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
push eax
mov eax, dword [0x4a0994]
push ecx
mov ecx, dword [0x4a0998]
push edx
mov edx, dword [0x4a099c]
call fcn.004475e0
jmp 0x42260c
mov edx, dword [0x4a099c]
cmp al, 0x47
sete al
movzx ecx, al
mov eax, dword [0x4a0998]
push ecx
mov ecx, dword [0x4a0994]
push edx
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
push edx
push eax
mov eax, dword [0x4a0988]
call fcn.0042eb20
jmp 0x42260c
mov esi, dword [0x4a0994]
push 1
xor bl, bl
call fcn.0040c2f0
add esp, 4
mov byte [esp + 0x78], al
test al, al
jne 0x423741
mov ecx, dword [0x4a0994]
push ecx
mov ecx, dword [esp + 0x34]
push 0
push 0x49388c
call fcn.004296d0
jmp 0x42260c
mov edx, dword [0x4a0998]
cmp byte [edx], bl
je 0x42375b
mov ecx, dword [esp + 0x30]
mov edi, 4
call fcn.0041d2c0
jmp 0x42375d
mov eax, edi
mov ecx, dword [0x4a09a4]
mov edx, dword [0x4a09a0]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [esp + 0x88]
push ecx
push eax
mov eax, dword [0x4a099c]
push edx
call fcn.0042ebc0
jmp 0x42260c
mov eax, dword [0x4a09a4]
mov ecx, dword [0x4a0998]
mov edx, dword [0x4a0994]
push eax
mov eax, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
push eax
mov eax, dword [0x4a09a0]
push ecx
mov ecx, dword [0x4a099c]
push edx
mov edx, dword [0x4a09a8]
call fcn.0042f170
jmp 0x42260c
mov eax, dword [0x4a09a8]
mov ecx, dword [0x4a09a4]
mov edx, dword [0x4a09a0]
push eax
mov eax, dword [0x4a099c]
push ecx
mov ecx, dword [0x4a0998]
push edx
push eax
push ecx
mov ecx, dword [esp + 0x44]
call fcn.0042f370
jmp 0x42260c
mov edx, dword [0x4a0998]
mov eax, dword [0x4a0994]
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push eax
push ecx
push edx
call fcn.0042f4e0
jmp 0x42260c
mov eax, dword [0x4a0998]
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
push eax
push ecx
call fcn.0042f6c0
jmp 0x42260c
mov edx, dword [0x4a099c]
mov eax, dword [0x4a0998]
mov ecx, dword [0x4a0994]
mov esi, dword [0x4a0988]
push edx
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
push edx
push eax
call fcn.0042f7c0
jmp 0x42260c
mov ecx, dword [0x4a099c]
mov edx, dword [0x4a0998]
mov eax, dword [0x4a0994]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push eax
push ecx
push edx
call fcn.0042f860
jmp 0x42260c
mov eax, dword [0x4a09a0]
mov ecx, dword [0x4a099c]
mov edx, dword [0x4a0998]
push eax
mov eax, dword [0x4a0994]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a0988]
push eax
mov eax, dword [0x4a098c]
push ecx
push edx
call fcn.004478a0
jmp 0x42260c
mov eax, dword [0x4a09a4]
mov ecx, dword [0x4a09a0]
mov edx, dword [0x4a099c]
push eax
mov eax, dword [0x4a0998]
push ecx
mov ecx, dword [0x4a0994]
push edx
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
push edx
push eax
call fcn.00448100
jmp 0x42260c
mov ecx, dword [0x4a0998]
mov edx, dword [0x4a099c]
mov eax, dword [0x4a0994]
mov edi, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0990]
call fcn.0042ff90
jmp 0x42260c
mov edx, dword [0x4a09a0]
mov eax, dword [0x4a099c]
mov ecx, dword [0x4a0998]
push edx
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [0x4a09a4]
push eax
push ecx
mov ecx, dword [0x4a0994]
call fcn.00430000
jmp 0x42260c
cmp al, 0x8b
sete dl
movzx eax, dl
push eax
mov eax, dword [esp + 0x34]
call fcn.00430130
jmp 0x42260c
mov ecx, dword [0x4a098c]
mov edx, dword [esp + 0x30]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a0988]
call fcn.004303d0
jmp 0x42260c
mov eax, dword [0x4a099c]
mov ecx, dword [0x4a0998]
mov edx, dword [0x4a0994]
push eax
mov eax, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [esp + 0x3c]
push eax
push ecx
mov ecx, dword [0x4a0988]
push edx
call fcn.00430a00
jmp 0x42260c
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 1
jbe 0x423a2e
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0990]
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [0x4a0998]
call fcn.00430e50
jmp 0x42260c
mov esi, dword [0x4a0988]
mov edx, 0x49588a
push 0x49588a
mov eax, edx
mov ecx, edx
call fcn.0043b7d0
test eax, eax
je 0x423a53
push esi
push eax
call dword [fcn.0048d470]
mov eax, edi
jmp 0x42260c
mov eax, dword [0x4a0994]
mov edx, dword [0x4a0998]
mov ecx, dword [0x4a098c]
push eax
mov eax, dword [0x4a0990]
call fcn.00430e80
jmp 0x42260c
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0998]
mov eax, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
call fcn.00430fc0
jmp 0x42260c
mov edx, dword [0x4a0994]
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [0x4a099c]
push edx
mov edx, dword [0x4a0998]
call fcn.004310f0
jmp 0x42260c
mov eax, dword [0x4a0998]
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0990]
push eax
mov eax, dword [0x4a098c]
push ecx
push edx
push eax
call fcn.00431950
jmp 0x42260c
mov ecx, dword [0x4a09a4]
mov edx, dword [0x4a09a0]
mov eax, dword [0x4a099c]
push ecx
mov ecx, dword [0x4a0998]
push edx
push eax
mov eax, dword [esp + 0x3c]
push ecx
call fcn.00431bb0
jmp 0x42260c
mov edx, dword [0x4a0990]
mov eax, dword [esp + 0x30]
mov ecx, dword [0x4a098c]
push edx
push eax
call fcn.00431d80
jmp 0x42260c
push 0
push 0x1a3
push 0x111
push 0
push 0x49204c
call dword [fcn.0048d574]
push eax
call dword [fcn.0048d570]
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x54]
cmp eax, 0xffffffff
jle case.0x422321.3
push 1
push eax
call fcn.00401340
add esp, 8
jmp case.0x422321.3
push 0
push 0x1a0
push 0x111
push 0
push 0x49204c
call dword [fcn.0048d574]
push eax
call dword [fcn.0048d570]
mov edx, dword [0x49d3c8]
mov eax, dword [edx + 0x54]
cmp eax, 0xffffffff
jle case.0x422321.3
push 1
push eax
call fcn.00401340
add esp, 8
jmp case.0x422321.3
mov ecx, dword [0x4a0988]
cmp byte [ecx], dl
jne 0x423bce
mov dword [0x4a309c], edx
jmp case.0x422321.3
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0xc]
cmp eax, edx
jne 0x423c05
mov edi, ecx
mov eax, 0x4a2c18
call fcn.00418380
test eax, eax
jne 0x423c05
mov ecx, dword [0x4a0988]
push ecx
mov ecx, dword [esp + 0x34]
push 0
push 0x4916fc
call fcn.004296d0
jmp 0x42260c
mov dword [0x4a309c], eax
mov edi, 1
jmp case.0x422321.3
mov edx, dword [0x4a0990]
mov eax, dword [0x4a098c]
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [esp + 0x34]
push eax
push ecx
mov ecx, dword [edx + 0xc]
call fcn.00409bb0
add esp, 0xc
jmp 0x42260c
mov eax, dword [esp + 0x30]
mov edi, dword [eax + 0xc]
cmp edi, edx
jne 0x423c5d
mov edi, dword [0x4a0988]
mov eax, 0x4a2c18
call fcn.00418380
mov edi, eax
test edi, edi
je 0x423be9
mov esi, dword [0x4a098c]
cmp byte [esi], 0
je 0x423cd3
push 0
call fcn.00412e90
add esp, 4
test eax, eax
jne 0x423ca9
push eax
mov eax, dword [0x4a098c]
push 1
push 1
push 1
call fcn.00463e80
add esp, 0x10
test eax, eax
jne 0x423cca
mov edx, dword [0x4a098c]
mov ecx, dword [esp + 0x30]
push edx
push eax
push 0x492974
call fcn.004296d0
jmp 0x42260c
jle 0x423cca
cmp eax, 2
jg 0x423cca
mov edx, dword [0x4a0990]
cmp eax, 1
sete al
push 0
movzx ecx, al
push ecx
push edx
push 0x49588a
jmp 0x423ceb
mov esi, dword [0x4a098c]
cmp byte [esi], 0
mov ecx, dword [0x4a0990]
jne 0x423ce4
cmp byte [ecx], 0
je 0x423ce4
mov al, 1
jmp 0x423ce6
xor al, al
push eax
push 1
push ecx
push esi
push edi
mov ecx, 0x4a2c18
call 0x418100
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a0988]
mov esi, 0x10
cmp byte [eax], dl
je 0x423d31
push 0x491e90
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x423d31
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov esi, eax
test esi, esi
je 0x423d36
mov eax, 1
mov byte [ebx + 0xc6], al
test al, al
je 0x423d60
or eax, 0xffffffff
mov dword [ebx + 0xb0], esi
mov byte [ebx + 0xc4], 0
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 0x24], eax
lea edi, [eax + 2]
jmp case.0x422321.3
mov dword [ebx + 0xb0], 5
mov byte [ebx + 0xc4], 1
mov edi, 1
jmp case.0x422321.3
mov esi, dword [0x4a0988]
call fcn.00412e30
dec eax
je 0x423e11
dec eax
je 0x423dd0
dec eax
jne 0x423e1d
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x423dc0
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
or eax, edx
jne 0x423dc0
mov eax, edi
mov byte [ebx + 0xc5], al
mov edi, 1
jmp case.0x422321.3
xor eax, eax
mov byte [ebx + 0xc5], al
lea edi, [eax + 1]
jmp case.0x422321.3
mov ecx, dword [0x4a0988]
cmp byte [ecx], 0
je 0x423de9
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov dword [0x4a30fc], eax
mov edx, dword [0x4a098c]
cmp byte [edx], 0
je 0x423e1d
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov dword [0x4a30f8], eax
mov edi, 1
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov dword [ebx + 0x2c], eax
mov edi, 1
jmp case.0x422321.3
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0xc]
cmp esi, edx
jne 0x423e4f
mov ecx, dword [0x4a0988]
push 1
push ecx
mov ecx, 0x4a2c18
call fcn.0041f1e0
mov esi, eax
test esi, esi
je case.0x422321.8
mov edi, dword [0x4a0994]
cmp byte [edi], 0
je 0x423e91
mov edx, dword [esp + 0x30]
mov eax, dword [edx + 0x18]
test eax, eax
jne 0x423e8e
mov eax, 0x4a2c18
call fcn.00418380
test eax, eax
jne 0x423e8e
mov eax, dword [0x4a0994]
mov ecx, dword [esp + 0x30]
push eax
push 0
push 0x4916fc
call fcn.004296d0
jmp 0x42260c
mov dword [esi + 0x10], eax
mov ecx, dword [0x4a099c]
mov edx, dword [0x4a0998]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push esi
call fcn.00468fb0
jmp 0x42260c
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0xc]
cmp esi, edx
jne 0x423ede
mov ecx, dword [0x4a0988]
push 0
push ecx
mov ecx, 0x4a2c18
call fcn.0041f1e0
mov esi, eax
test esi, esi
je case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x423f09
push 0x491a54
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x423f09
mov al, 1
mov ecx, esi
push eax
call fcn.00469490
jmp case.0x422321.3
xor al, al
mov ecx, esi
push eax
call fcn.00469490
jmp case.0x422321.3
mov eax, dword [esp + 0x30]
mov esi, dword [eax + 0xc]
cmp esi, edx
jne 0x423f40
mov ecx, dword [0x4a0988]
push 0
push ecx
mov ecx, 0x4a2c18
call fcn.0041f1e0
mov esi, eax
test esi, esi
je case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x423f95
push 0x49284c
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x423f6b
push esi
xor edx, edx
mov cl, 0x7d
call fcn.00469150
jmp case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x423f95
push 0x491a54
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x423f95
mov al, 1
push eax
push esi
call fcn.00469210
jmp case.0x422321.3
xor al, al
push eax
push esi
call fcn.00469210
jmp case.0x422321.3
mov edx, dword [0x4a0990]
mov esi, dword [0x4a098c]
push edx
call fcn.004375e0
jmp 0x42260c
cmp esi, edx
jne 0x423fd5
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
push eax
call fcn.00411710
add esp, 4
jmp case.0x422321.3
mov eax, dword [0x4a098c]
push 0
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
cmp eax, 2
je 0x42400d
mov eax, dword [0x4a0990]
push 0
push 1
push 0
push 1
call fcn.00463e80
add esp, 0x10
cmp eax, 2
jne 0x4240a2
mov eax, dword [0x4a098c]
cmp byte [eax], 0
je 0x424022
mov ecx, dword [esp + 0x30]
call fcn.0041d370
jmp 0x424024
fldz
mov ecx, dword [0x4a0990]
fst qword [esp + 0x48]
cmp byte [ecx], 0
je 0x424066
mov ecx, dword [esp + 0x30]
fstp st(0)
mov edi, 2
call fcn.0041d370
fst qword [esp + 0x88]
fld qword [esp + 0x48]
fxch st(1)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x424075
fstp qword [esp + 0x48]
fstp qword [esp + 0x88]
jmp 0x424079
fld qword [0x497c00]
fst qword [esp + 0x88]
jmp 0x424050
fstp st(0)
fstp st(0)
call fcn.004118d0
fld qword [esp + 0x88]
fld qword [esp + 0x48]
sub esp, 8
fsub st(1), st(0)
fxch st(2)
fmulp st(1)
faddp st(1)
fstp qword [esp]
push esi
call fcn.00411d70
jmp 0x42260c
mov edx, dword [0x4a098c]
cmp byte [edx], 0
je 0x4240be
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov ebx, eax
mov dword [esp + 0x50], eax
jmp 0x4240c4
xor ebx, ebx
mov dword [esp + 0x50], ebx
mov eax, dword [0x4a0990]
cmp byte [eax], 0
je 0x4240e0
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov edi, eax
jmp 0x4240e5
mov edi, 0x7fffffff
cmp ebx, edi
jle 0x4240f3
mov eax, ebx
mov ebx, edi
mov dword [esp + 0x50], ebx
mov edi, eax
call fcn.00411830
mov ecx, eax
mov eax, ebx
cdq
mov ebx, eax
mov dword [esp + 0x48], edx
mov eax, edi
cdq
sub eax, ebx
sbb edx, dword [esp + 0x48]
add eax, 1
adc edx, 0
push edx
push eax
push 0
push ecx
call fcn.0048a930
add eax, dword [esp + 0x50]
push 0x18
cdq
push edx
push eax
mov eax, esi
call fcn.004010d0
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a098c]
push 1
call fcn.004377a0
jmp 0x42260c
mov edx, dword [0x4a0990]
mov eax, dword [0x4a098c]
mov ecx, dword [0x4a0988]
push edx
call fcn.00437940
jmp 0x42260c
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
call fcn.00437bb0
jmp 0x42260c
mov eax, dword [0x4a0994]
cmp byte [eax], dl
je 0x424192
mov ecx, dword [esp + 0x30]
mov edi, 3
call fcn.0041d2c0
dec eax
jmp 0x424194
xor eax, eax
cdq
mov ebx, eax
test edx, edx
jg 0x4241a7
jl 0x4241a1
test ebx, ebx
jae 0x4241a7
xor ebx, ebx
mov dword [esp + 0x4c], ebx
mov edi, dword [0x4a098c]
cmp byte [edi], 0
mov dword [esp + 0x5c], 1
je 0x4241cb
lea ecx, [esp + 0x5c]
push ecx
call fcn.00412750
add esp, 4
mov edi, eax
jmp 0x4241d0
mov edi, 4
mov esi, dword [0x4a0990]
cmp byte [esi], 0
je 0x4241e2
call fcn.00412950
jmp 0x4241e7
mov eax, 0x50030001
mov edx, dword [esp + 0x5c]
push ebx
push eax
mov eax, dword [esp + 0x38]
xor ecx, ecx
cmp byte [eax], 0x96
push edx
sete cl
push edi
dec ecx
and ecx, dword [0x4a0988]
push ecx
push eax
call fcn.004381b0
jmp 0x42260c
mov eax, dword [0x4a098c]
mov ebx, dword [esp + 0x30]
cmp byte [eax], dl
je 0x424225
mov ecx, ebx
call fcn.0041d2c0
dec eax
jmp 0x424227
xor eax, eax
cdq
test edx, edx
jg 0x424238
jl 0x424232
test eax, eax
jae 0x424238
xor eax, eax
mov dword [esp + 0x4c], eax
cmp byte [ebx], 0x98
push eax
jne 0x424248
call fcn.00438750
jmp 0x42260c
mov edi, dword [0x4a0988]
call fcn.004387e0
jmp 0x42260c
mov ecx, dword [0x4a098c]
cmp byte [ecx], dl
je 0x42426f
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov esi, eax
jmp 0x424274
mov esi, 0x96
mov edx, dword [0x4a0988]
cmp byte [edx], 0
je 0x42429c
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
push esi
push eax
call dword [0x48d270]
mov edi, 1
jmp case.0x422321.3
mov eax, 0x20b
push esi
push eax
call dword [0x48d270]
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], dl
je 0x4242d3
push 0x4938c0
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x4242f7
mov eax, dword [0x4a098c]
push 0x4916f4
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x4242f7
xor al, al
push eax
mov eax, dword [0x4a0988]
call fcn.00438920
jmp 0x42260c
mov eax, 1
push eax
mov eax, dword [0x4a0988]
call fcn.00438920
jmp 0x42260c
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 2
jae 0x42431b
mov ebx, dword [ebx + 0x18]
jmp 0x42431d
xor ebx, ebx
mov ecx, dword [0x4a0988]
mov edx, dword [0x4a098c]
mov eax, dword [esp + 0x30]
push ebx
push ecx
push edx
push eax
call fcn.00439ba0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov eax, dword [0x4a098c]
push ecx
call fcn.00439340
jmp 0x42260c
mov edx, dword [0x4a098c]
mov ecx, dword [0x4a0990]
push edx
call fcn.00439820
jmp 0x42260c
mov eax, dword [esp + 0x30]
push eax
call fcn.0043a510
jmp 0x42260c
mov eax, dword [0x4a0988]
call fcn.004494d0
jmp 0x42260c
mov edi, dword [0x4a0988]
call fcn.004495c0
jmp 0x42260c
mov ecx, dword [0x4a0988]
mov edi, dword [0x4a0990]
mov eax, dword [0x4a098c]
push ecx
call fcn.0043a770
jmp 0x42260c
mov ecx, dword [esp + 0x30]
add ebx, 0x30
push ebx
push 0
mov edi, 2
call fcn.0041d2c0
mov ecx, dword [0x4a098c]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x4a0988]
push eax
push ecx
call fcn.00449be0
add esp, 0x10
test eax, eax
jne 0x424401
mov ecx, dword [0x4a13a4]
push 1
push eax
push 0xffffffffffffffff
push 0x4900b0
call fcn.004668b0
jmp 0x42260c
cmp byte [0x4a30e7], 0
je 0x424458
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push 0x4916f4
call fcn.004668b0
jmp 0x42260c
mov ecx, dword [esp + 0x30]
add ebx, 0x30
push ebx
push 1
mov edi, 2
call fcn.0041d2c0
mov ecx, dword [0x4a098c]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x4a0988]
push eax
push ecx
call fcn.00449be0
add esp, 0x10
cdq
push 0x18
push edx
push eax
mov eax, dword [0x4a13a4]
call fcn.004010d0
mov edi, 1
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov ecx, dword [0x4a098c]
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x4a0988]
push eax
push ecx
call fcn.004497c0
add esp, 8
test al, al
mov eax, 0x4900b0
jne 0x423484
mov ecx, dword [0x4a13a4]
push 1
push 0
mov eax, 0x4916f4
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
mov edx, dword [0x4a0990]
mov al, byte [edx]
call fcn.00408bc0
cmp al, 0x52
jne 0x424510
mov eax, dword [0x4a098c]
mov ecx, dword [0x4a0988]
push eax
push ecx
call dword [0x48d26c]
test eax, eax
mov eax, 0x4900b0
jne 0x4244f9
mov eax, 0x4916f4
mov ecx, dword [0x4a13a4]
push 1
push 0
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
mov edi, 2
call fcn.0041d2c0
mov edx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
mov edi, eax
call fcn.00449950
add esp, 4
test al, al
mov eax, 0x4900b0
jne 0x423484
mov ecx, dword [0x4a13a4]
push 1
push 0
mov eax, 0x4916f4
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
mov eax, dword [0x4a0988]
mov ecx, dword [esp + 0x30]
push eax
call fcn.004391d0
jmp 0x42260c
mov ecx, dword [0x4a0988]
cmp byte [ecx], dl
je 0x42440a
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
cmp eax, 1
sete dl
movzx eax, dl
mov edx, dword [0x4a0988]
push eax
call fcn.00449b00
add esp, 4
test al, al
mov eax, 0x4900b0
jne 0x423484
mov ecx, dword [0x4a13a4]
push 1
push 0
mov eax, 0x4916f4
push 0xffffffffffffffff
push eax
call fcn.004668b0
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
jne 0x4245e2
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x4245e2
mov eax, 0x49588a
call fcn.0043a870
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
je 0x4245f9
mov ebx, eax
jmp 0x42460a
mov ebx, dword [ebx + 0x10]
cmp ebx, edx
je 0x424605
add ebx, 0x2c
jmp 0x42460a
mov ebx, 0x49588a
push 0
push ecx
mov ecx, dword [esp + 0x38]
mov edi, 3
call fcn.0041d2c0
mov esi, dword [0x4a0990]
add esp, 4
cmp eax, 1
sete cl
movzx edx, cl
push edx
call fcn.00413170
mov ecx, dword [esp + 0x38]
push eax
mov eax, dword [0x4a0988]
push ebx
push eax
call fcn.0043a940
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], dl
jne 0x424666
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x424666
mov eax, 0x49588a
mov ecx, dword [0x4a0990]
movzx edx, byte [ecx]
push edx
call fcn.0043af80
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
je 0x424687
mov ebx, eax
jmp 0x424698
mov ebx, dword [ebx + 0x10]
cmp ebx, edx
je 0x424693
add ebx, 0x2c
jmp 0x424698
mov ebx, 0x49588a
push 0
push ecx
mov ecx, dword [esp + 0x38]
mov edi, 4
call fcn.0041d2c0
mov esi, dword [0x4a0994]
add esp, 4
cmp eax, 1
sete al
movzx ecx, al
push ecx
call fcn.00413170
mov edx, dword [0x4a0990]
mov ecx, dword [0x4a0988]
push eax
movzx eax, byte [edx]
push eax
push ebx
push ecx
mov ecx, dword [esp + 0x48]
call fcn.0043b0c0
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a098c]
cmp byte [eax], dl
jne 0x4246ff
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x4246ff
mov eax, 0x49588a
mov edx, dword [0x4a0990]
push edx
call fcn.0043b5f0
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
jne 0x424728
mov ebx, dword [ebx + 0x10]
lea eax, [ebx + 0x2c]
cmp ebx, edx
jne 0x424728
mov eax, 0x49588a
call fcn.00449650
jmp 0x42260c
mov edi, dword [0x4a0988]
call fcn.00438ae0
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a0998]
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a098c]
push eax
push ecx
mov ecx, dword [0x4a0990]
push edx
call fcn.00438bd0
jmp 0x42260c
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
push eax
push ecx
mov ecx, dword [0x4a0994]
call fcn.00448c30
jmp 0x42260c
mov edx, dword [0x4a0988]
mov eax, dword [esp + 0x30]
push edx
call fcn.00448f50
jmp 0x42260c
mov eax, dword [0x4a09a8]
mov ecx, dword [0x4a09a0]
mov edx, dword [0x4a099c]
mov ebx, dword [0x4a09a4]
mov edi, dword [0x4a0994]
push eax
mov eax, dword [0x4a0998]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
push eax
mov eax, dword [0x4a0990]
push ecx
push edx
call fcn.004492f0
jmp 0x42260c
push 0
mov ecx, 4
call fcn.004343e0
add esp, 4
jmp 0x42260c
mov esi, dword [0x4a0988]
push 7
call fcn.00412e90
add esp, 4
cmp eax, 7
jne 0x42481a
push 0
mov ecx, edi
call fcn.004343e0
add esp, 4
jmp 0x42260c
cmp byte [ebx + 0xcf], 0
je 0x424846
mov ecx, dword [0x4a2b48]
test ecx, ecx
jle 0x424830
dec ecx
jmp 0x424835
mov ecx, 0x18f
mov dword [0x4a2b48], ecx
mov dword [ecx*4 + 0x4a2508], 0
cmp eax, 1
sete al
mov byte [ebx + 0xcf], al
jmp case.0x422321.3
push 0
mov ecx, 2
call fcn.004343e0
add esp, 4
jmp 0x42260c
push 0
mov ecx, 3
call fcn.004343e0
add esp, 4
jmp 0x42260c
mov ecx, dword [0x49d3c8]
mov eax, dword [ecx + 0x50]
cmp eax, 0x63
jae 0x42489c
mov eax, dword [eax*4 + 0x4a11b8]
cmp eax, edx
je 0x42489c
mov eax, dword [eax]
jmp 0x42489e
xor eax, eax
mov edx, dword [esp + 0x30]
mov cl, byte [edx + 1]
push eax
test cl, cl
jne 0x4248c0
fldz
sub esp, 8
fstp qword [esp]
push 0
push 0x10000
push 0x4938c8
jmp 0x424909
cmp cl, 1
jne 0x4248dc
fldz
mov eax, dword [0x4a0988]
sub esp, 8
fstp qword [esp]
push 0
push 0x10000
push eax
jmp 0x424909
mov esi, dword [esp + 0x34]
push ecx
mov edi, 3
mov ecx, esi
call fcn.0041d370
push ecx
mov ecx, dword [0x4a098c]
fstp qword [esp]
push ecx
xor edi, edi
mov ecx, esi
call fcn.0041d2c0
mov edx, dword [0x4a0990]
push eax
push edx
call fcn.00468330
xor ecx, ecx
add esp, 0x18
test eax, eax
setne cl
mov edi, ecx
jmp 0x42260e
mov edx, dword [0x4a09a4]
cmp byte [edx], 0
mov ebx, dword [esp + 0x30]
je 0x424940
mov edi, 7
mov ecx, ebx
call fcn.0041d2c0
mov dword [esp + 0x5c], eax
jmp 0x424948
mov dword [esp + 0x5c], 0x80000000
mov eax, dword [0x4a09a0]
cmp byte [eax], 0
je 0x424964
mov edi, 6
mov ecx, ebx
call fcn.0041d2c0
mov dword [esp + 0x50], eax
jmp 0x42496c
mov dword [esp + 0x50], 0x80000000
mov ecx, dword [0x4a099c]
cmp byte [ecx], 0
je 0x424989
mov edi, 5
mov ecx, ebx
call fcn.0041d2c0
mov dword [esp + 0x60], eax
jmp 0x424991
mov dword [esp + 0x60], 0x80000000
mov edx, dword [0x4a0998]
cmp byte [edx], 0
je 0x4249ae
mov edi, 4
mov ecx, ebx
call fcn.0041d2c0
mov dword [esp + 0x38], eax
jmp 0x4249b6
mov dword [esp + 0x38], 0x80000000
mov edi, 9
mov ecx, ebx
call fcn.0041d370
mov eax, dword [0x4a09b0]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x50]
sub esp, 8
fstp qword [esp]
push eax
mov eax, dword [esp + 0x6c]
push ecx
mov ecx, dword [0x4a0994]
push edx
push eax
mov al, byte [ecx]
call fcn.00408bc0
mov ecx, dword [0x4a098c]
cmp al, 0x48
mov eax, dword [0x4a0990]
push eax
push ecx
mov ecx, dword [esp + 0x58]
sete dl
mov edi, esi
call fcn.00434650
add esp, 0x20
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
je 0x424a25
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov esi, eax
jmp 0x424a27
xor esi, esi
mov ecx, dword [0x4a0988]
cmp byte [ecx], 0
je 0x424a3f
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
jmp 0x424a44
mov eax, 0xc8
mov edx, dword [0x4a0994]
mov ecx, dword [0x4a0990]
push edx
push ecx
push eax
mov eax, esi
call fcn.00447360
jmp 0x42260c
mov eax, dword [0x4a0a40]
cmp eax, edx
je 0x424a80
push eax
call dword [fcn.0048d57c]
test eax, eax
je 0x424a80
mov edx, dword [0x4a0a40]
push edx
call dword [fcn.0048d4ac]
mov dword [0x4a0a40], 0
jmp case.0x422321.3
mov eax, dword [0x4a0998]
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0990]
push 0
push eax
mov eax, dword [0x4a098c]
push ecx
mov ecx, dword [0x4a0988]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
push edx
mov ecx, 0x49588a
call fcn.0042b2b0
jmp 0x42260c
mov eax, dword [0x4a099c]
mov ecx, dword [0x4a0998]
mov edx, dword [0x4a0994]
push 1
push eax
mov eax, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [esp + 0x40]
push eax
push ecx
mov ecx, dword [0x4a0988]
push edx
call fcn.0042b2b0
jmp 0x42260c
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
mov edx, dword [0x4a0988]
push eax
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [0x4a0994]
push edx
push eax
call fcn.0042c410
jmp 0x42260c
mov ecx, dword [0x4a098c]
mov edx, dword [0x4a0988]
mov edi, dword [0x4a0994]
mov esi, dword [0x4a0990]
push ecx
push edx
call fcn.0042c750
jmp 0x42260c
mov eax, dword [esp + 0x30]
push eax
call fcn.0042d470
jmp 0x42260c
mov eax, dword [0x4a098c]
cmp byte [eax], dl
je 0x424b97
push 0x4938e0
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
je 0x424b97
mov ecx, dword [0x4a098c]
push 0x4938e8
push ecx
call fcn.00476cb6
add esp, 8
test eax, eax
jne case.0x422321.3
mov byte [esp + 0x43], al
jmp 0x424b9c
mov byte [esp + 0x43], 1
mov esi, dword [0x4a0988]
call fcn.00413330
test al, al
je case.0x422321.3
cmp byte [esp + 0x43], 0
je 0x424bc1
or byte [ebx + 0xc8], al
jmp case.0x422321.3
not al
and byte [ebx + 0xc8], al
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov byte [ebx + 0xc7], al
cmp al, 0x64
jbe 0x424bea
mov byte [ebx + 0xc7], 2
mov edi, 1
jmp case.0x422321.3
mov edx, dword [ebx + 0xac]
mov eax, dword [0x4a0988]
push edx
call fcn.004130e0
add esp, 4
mov dword [ebx + 0xac], eax
jmp case.0x422321.3
mov eax, dword [0x4a0990]
push 0x491ecc
push eax
call fcn.00476cb6
add esp, 8
test eax, eax
jne 0x424c63
mov ecx, dword [0x4a0988]
cmp byte [ecx], al
je 0x424c42
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov dword [ebx + 0x60], eax
mov edx, dword [0x4a098c]
cmp byte [edx], 0
je 0x424c97
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d2c0
mov dword [ebx + 0x68], eax
jmp case.0x422321.3
mov eax, dword [0x4a0988]
cmp byte [eax], 0
je 0x424c7b
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov dword [ebx + 0x5c], eax
mov ecx, dword [0x4a098c]
cmp byte [ecx], 0
je 0x424c97
mov ecx, dword [esp + 0x30]
mov edi, 1
call fcn.0041d2c0
mov dword [ebx + 0x64], eax
mov edi, 1
jmp case.0x422321.3
mov edx, dword [0x4a098c]
push 0x491ecc
push edx
call fcn.00476cb6
mov ecx, dword [esp + 0x38]
add esp, 8
xor edi, edi
test eax, eax
jne 0x424cd1
call fcn.0041d2c0
mov dword [ebx + 0x70], eax
mov edi, 1
jmp case.0x422321.3
call fcn.0041d2c0
mov dword [ebx + 0x6c], eax
mov edi, 1
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov dword [ebx + 0x54], eax
mov edi, 1
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
mov dword [ebx + 0x58], eax
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a0988]
push 0x4938f4
call fcn.00464370
mov ecx, dword [esp + 0x34]
add esp, 4
xor edi, edi
test eax, eax
je 0x424d4e
mov dword [ebx], 0xffffffff
mov dword [ebx + 4], 0xffffffff
call fcn.0041d2c0
mov dword [ebx + 0x24], eax
mov edi, 1
jmp case.0x422321.3
mov dword [ebx + 0x24], 0xffffffff
call fcn.0041d2c0
mov dword [ebx], eax
or eax, edx
mov dword [ebx + 4], edx
jne 0x424d6c
mov dword [ebx], 0xa
mov dword [ebx + 4], edi
mov edi, 1
jmp case.0x422321.3
mov esi, dword [0x4a0988]
push 7
call fcn.00412e90
add esp, 4
cmp eax, 7
je case.0x422321.3
cmp eax, 1
sete cl
mov byte [ebx + 0xca], cl
jmp case.0x422321.3
mov esi, dword [0x4a0988]
call 0x412b00
dec eax
cmp eax, 5
ja case.default.0x424db1
jmp dword [eax*4 + 0x425c5c]
mov dword [ebx + 0x20], edi
jmp case.0x422321.3
mov dword [ebx + 0x20], 2
jmp case.0x422321.3
mov dword [ebx + 0x20], 4
jmp case.0x422321.3
mov dword [ebx + 0x20], 3
jmp case.0x422321.3
mov byte [ebx + 0xc1], 1
jmp case.0x422321.3
mov byte [ebx + 0xc1], 0
jmp case.0x422321.3
mov edx, dword [0x4a0988]
mov ecx, dword [esp + 0x30]
push edx
push 0
push 0x4938f8
call fcn.004296d0
jmp 0x42260c
mov eax, dword [0x4a0988]
push 5
push 0x491f68
push eax
call fcn.00477695
add esp, 0xc
test eax, eax
jne 0x424f08
mov esi, dword [esp + 0x30]
mov ecx, esi
call fcn.0041d240
cmp eax, 0x1e
jae case.0x422321.3
mov ecx, esi
call fcn.0041d2c0
mov ecx, dword [0x4a098c]
mov esi, edx
push 0x2e
push ecx
mov edi, eax
mov dword [esp + 0xb4], esi
call fcn.00477c01
add esp, 8
mov dword [esp + 0x48], eax
test eax, eax
je 0x424e85
lea esi, [eax + 1]
call fcn.00411cd0
mov esi, dword [esp + 0xac]
jmp 0x424e89
xor eax, eax
xor edx, edx
add edi, eax
adc esi, edx
add edi, 2
adc esi, 0
mov dword [esp + 0x8c], esi
js 0x424eb0
jg 0x424ea6
cmp edi, 0xff
jbe 0x424eb0
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a098c]
push 0
push 1
push 1
push 1
call fcn.00463e80
add esp, 0x10
mov ecx, 0x493930
test eax, eax
jne 0x424ed3
mov ecx, 0x49588a
cmp dword [esp + 0x48], 0
mov eax, 0x49588a
jne 0x424ee4
mov eax, 0x493934
mov edx, dword [0x4a098c]
push ecx
push eax
push edx
push 0x493938
add ebx, 0x74
push ebx
call fcn.00477162
add esp, 0x14
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a0988]
push 7
push 0x491f60
push eax
call fcn.00477695
add esp, 0xc
test eax, eax
jne case.0x424f3b.69
mov ecx, dword [0x4a098c]
mov al, byte [ecx]
movsx ecx, al
add ecx, 0xffffffbc
cmp ecx, 0x24
ja case.0x424f3b.69
movzx edx, byte [ecx + 0x425c80]
jmp dword [edx*4 + 0x425c74]
mov byte [ebx + 0xcc], 0x44
mov edi, 1
jmp case.0x422321.3
mov byte [ebx + 0xcc], al
mov edi, 1
jmp case.0x422321.3
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
push eax
call fcn.004354e0
jmp 0x42260c
mov ecx, dword [0x4a099c]
mov edx, dword [0x4a0998]
mov eax, dword [0x4a0994]
push ecx
mov ecx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push eax
mov eax, dword [0x4a0988]
push ecx
push edx
push eax
push 0x4a2c18
call fcn.0045c1e0
jmp 0x42260c
mov ecx, dword [0x4a0994]
mov edx, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a098c]
push edx
mov edx, dword [0x4a0988]
push 0x4a2c18
call fcn.00450370
jmp 0x42260c
mov eax, dword [0x4a0990]
mov ecx, dword [0x4a098c]
mov edx, dword [0x4a0988]
push eax
push ecx
push edx
call fcn.004509f0
jmp 0x42260c
mov eax, dword [0x4a0994]
mov ecx, dword [0x4a0990]
mov edx, dword [0x4a098c]
push eax
push ecx
push edx
call fcn.00451920
jmp 0x42260c
mov esi, dword [0x4a0988]
call fcn.00412f90
cmp eax, 7
ja case.0x422321.3
jmp dword [eax*4 + 0x425ca8]
call fcn.00429530
jmp case.0x422321.3
cmp byte [0x4a0b7f], 0
jne case.0x422321.3
call fcn.00429530
jmp case.0x422321.3
cmp byte [0x4a0b7f], 0
je case.0x422321.3
call fcn.00429530
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
call fcn.0041d2c0
mov esi, dword [0x4a0988]
test eax, eax
setne cl
movzx edx, cl
push edx
call 0x412ee0
push eax
mov eax, dword [esp + 0x38]
push eax
call fcn.00429580
jmp 0x42260c
mov esi, dword [0x4a0988]
push 7
call fcn.00412e90
add esp, 4
cmp eax, 7
je case.0x422321.3
cmp eax, 1
sete cl
mov byte [ebx + 0xcb], cl
jmp case.0x422321.3
mov esi, dword [0x4a0988]
call fcn.00412f40
mov byte [ebx + 0xc9], al
cmp al, 4
jne case.0x422321.3
mov byte [ebx + 0xc9], 0
jmp case.0x422321.3
mov esi, dword [0x4a0988]
push 7
call fcn.00412e90
add esp, 4
cmp eax, 7
je case.0x422321.3
cmp eax, 1
sete dl
mov byte [ebx + 0xc2], dl
jmp case.0x422321.3
mov esi, dword [0x4a0988]
push 7
call fcn.00412e90
add esp, 4
cmp eax, 7
je case.0x422321.3
cmp eax, 1
sete al
mov byte [ebx + 0xc3], al
jmp case.0x422321.3
mov esi, dword [0x4a0988]
call fcn.00413000
lea ecx, [eax - 1]
cmp ecx, 0xc
ja case.0x422321.3
movzx ecx, byte [ecx + 0x425ce0]
jmp dword [ecx*4 + 0x425cc8]
mov bl, 1
call fcn.00429680
jmp case.0x422321.3
xor bl, bl
call fcn.00429680
jmp case.0x422321.3
mov dword [0x49d3d8], eax
jmp case.0x422321.3
or byte [0x4a14e0], 2
cmp dword [0x4a0b6c], 0
mov byte [0x4a14b3], 1
jne case.0x422321.3
mov edx, dword [0x49e4e0]
movzx eax, word [edx]
push eax
call fcn.004076d0
add esp, 4
jmp case.0x422321.3
mov byte [0x4a14b3], 0
jmp case.0x422321.3
mov esi, dword [0x4a0988]
push 0x49d3cc
mov al, 0x90
call fcn.0043b720
add esp, 4
jmp 0x42260c
mov esi, dword [0x4a0988]
push 0x49d3d0
mov al, 0x14
call fcn.0043b720
add esp, 4
jmp 0x42260c
mov esi, dword [0x4a0988]
push 0x49d3d4
mov al, 0x91
call fcn.0043b720
add esp, 4
jmp 0x42260c
mov al, 1
mov edx, 0x4a2c18
call fcn.00414930
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
jmp 0x42343e
mov ecx, dword [0x4a098c]
mov edi, dword [0x4a0994]
mov ebx, dword [0x4a0990]
push ecx
mov ecx, dword [0x4a0998]
call fcn.00460b80
jmp 0x42260c
mov edx, dword [0x4a0988]
mov eax, dword [esp + 0x30]
mov ebx, dword [0x4a0990]
push edx
mov edx, dword [0x4a098c]
push eax
mov eax, dword [0x4a0994]
call fcn.00460c80
jmp 0x42260c
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 1], 3
mov eax, dword [0x4a098c]
sbb edx, edx
not edx
and edx, dword [0x4a0990]
push edx
mov edx, dword [0x4a0988]
push eax
call fcn.00460d70
jmp 0x42260c
mov ecx, dword [esp + 0x30]
mov al, byte [ecx + 1]
cmp al, 2
jae 0x4252c9
mov ebx, dword [ebx + 0x14]
cmp ebx, edx
je 0x4252c9
mov ecx, dword [ebx + 4]
lea edx, [ebx + 0x408]
push edx
lea eax, [ebx + 8]
push eax
call fcn.00460e00
jmp 0x42260c
cmp al, 4
ja 0x4252fb
mov esi, dword [0x4a098c]
call fcn.004126d0
test eax, eax
jne 0x4252fb
mov ecx, dword [0x4a098c]
push ecx
lea ebx, [esp + 0x46]
call fcn.00412530
mov edx, dword [0x4a0994]
mov esi, eax
mov eax, dword [0x4a0990]
jmp 0x425318
mov ecx, dword [0x4a0990]
push ecx
lea ebx, [esp + 0x46]
call fcn.00412530
mov edx, dword [0x4a0998]
mov esi, eax
mov eax, dword [0x4a0994]
add esp, 4
push edx
push eax
mov ecx, esi
call fcn.00460e00
mov edi, eax
cmp byte [esp + 0x42], 0
je 0x42260e
test esi, esi
je 0x42260e
push esi
call dword [fcn.0048d040]
jmp 0x42260e
mov ecx, dword [esp + 0x30]
cmp byte [ecx + 1], 2
jae 0x42537a
mov eax, dword [ebx + 0x14]
cmp eax, edx
je 0x42537a
mov ebx, dword [0x4a0988]
lea edx, [eax + 0x408]
push edx
mov edx, dword [eax + 0x808]
lea ecx, [eax + 8]
push ecx
mov ecx, dword [eax + 4]
call fcn.00461140
jmp 0x42260c
mov edx, dword [0x4a098c]
push edx
lea ebx, [esp + 0x46]
call fcn.00412530
mov ecx, dword [0x4a0990]
mov esi, dword [0x4a0988]
mov edi, eax
mov eax, dword [0x4a0994]
add esp, 4
push eax
push ecx
call fcn.004126d0
mov ebx, dword [0x4a0998]
mov ecx, edi
mov edx, eax
call fcn.00461140
cmp byte [esp + 0x42], 0
mov esi, eax
je 0x4253ca
test edi, edi
je 0x4253ca
push edi
call dword [fcn.0048d040]
mov edi, esi
jmp 0x42260e
mov eax, dword [esp + 0x30]
cmp byte [eax + 1], 1
jae 0x425484
mov eax, dword [ebx + 0x14]
cmp eax, edx
je 0x425484
cmp dword [eax + 0x808], 0xfffffffe
jne 0x425451
lea ecx, [eax + 0x408]
push ecx
add eax, 8
push eax
push 0x49202c
mov esi, 0x400
lea edi, [esp + 0x10c]
call fcn.00463ff0
mov edx, dword [ebx + 0x14]
mov ecx, dword [0x4a13a4]
mov esi, dword [edx + 4]
add esp, 0xc
push 1
push 0
push 0xffffffffffffffff
push 0x4916f4
call fcn.004668b0
test esi, esi
je 0x425447
push esi
mov eax, 0x49588a
call fcn.004614c0
jmp 0x42260c
mov eax, 1
jmp 0x42260c
mov ecx, dword [0x4a13a4]
mov esi, dword [eax + 4]
push 1
push 0
push 0xffffffffffffffff
push 0x4916f4
lea ebx, [eax + 0x408]
lea edi, [eax + 8]
call fcn.004668b0
test esi, esi
je 0x425447
push esi
mov eax, ebx
call fcn.004614c0
jmp 0x42260c
mov eax, dword [0x4a0988]
push eax
lea ebx, [esp + 0x46]
call fcn.00412530
mov ecx, dword [0x4a13a4]
mov ebx, dword [0x4a0990]
mov edi, dword [0x4a098c]
add esp, 4
push 1
push 0
push 0xffffffffffffffff
push 0x4916f4
mov esi, eax
call fcn.004668b0
test esi, esi
je 0x4254cb
push esi
mov eax, ebx
call fcn.004614c0
jmp 0x425324
mov edi, 1
jmp 0x425326
mov ecx, dword [0x4a0988]
push ecx
call dword [0x48d1b4]
jmp case.0x422321.3
mov ecx, dword [esp + 0x30]
xor edi, edi
call fcn.0041d2c0
push eax
call fcn.0044a3f0
xor edx, edx
add esp, 4
test al, al
setne dl
mov edi, edx
jmp 0x42260e
mov eax, dword [0x4a0988]
call fcn.004134e0
cmp eax, 0xffffffff
jne 0x425533
mov eax, dword [0x4a0988]
mov ecx, dword [esp + 0x30]
push eax
push 0
push 0x492598
call fcn.004296d0
jmp 0x42260c
mov dword [ebx + 0xd0], eax
jmp case.0x422321.3
xor edi, edi
mov eax, edi
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [esp + 0x54]
mov dword [edx], eax
mov eax, edi
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 1
cmp edi, 7
je 0x421ad8
mov eax, edi
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [eax + 4]
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
jmp 0x421ad3
mov edx, dword [ebp + 0xc]
test edx, edx
je 0x42560e
cmp dword [edx + 8], 0
jne 0x42560e
mov ecx, dword [0x4a09d8]
test ecx, ecx
je 0x4255ff
mov al, byte [ecx + 0x17]
test al, al
jne 0x4255d1
mov eax, dword [ecx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x4255ff
mov esi, edx
call fcn.00411f30
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov dword [edx + 8], 0
mov ecx, dword [0x4a0988]
mov dword [edx], ecx
mov eax, dword [ebp + 8]
dec eax
neg eax
sbb eax, eax
and eax, 6
inc eax
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x425641
mov edx, dword [esi + 0x18]
mov eax, dword [esp + 0x54]
mov dword [eax], edx
mov eax, 5
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov esi, dword [esi + 0x18]
test esi, esi
je 0x42566a
mov ecx, dword [esp + 0x54]
mov dword [ecx], esi
mov eax, 6
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x4a098c]
mov ecx, dword [esp + 0x30]
push edx
push 0
push 0x49377c
call fcn.004296d0
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, dword [0x4a0990]
mov ecx, dword [esp + 0x30]
push eax
push 0
push 0x4937b0
call fcn.004296d0
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x44]
mov dword [ecx], edx
jmp 0x421ad3
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, edi
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov edx, dword [0x49e4e0]
cmp word [edx], 0
jne 0x42576d
cmp dword [0x4a24a8], 0
jne 0x42576d
cmp dword [0x4a0b68], 0
jne 0x42576d
cmp dword [0x4a0b6c], 0
jne 0x42576d
cmp byte [0x4a0b5b], 0
jne 0x42576d
xor edi, edi
mov ecx, esi
call fcn.0041d2c0
push eax
push edi
push 9
mov ecx, 0x4a2c18
call fcn.00414960
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
mov eax, 8
mov ecx, dword [esp + 0x534]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc
cmp dword [ebp + 8], 2
je 0x421ad3
push 0x49588a
push 0
push 0x4937e8
mov ecx, esi
call fcn.004296d0
mov ecx, dword [esp + 0x534]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 0xc