Function at 0x433e20
Capabilities:
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x4dc8ab
mov eax, dword fs:[0]
push eax
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x5265f0]
xor eax, esp
push eax
lea eax, [esp + 0x30]
mov dword fs:[0], eax
call fcn.00423c10
mov eax, dword [eax + 0x28]
test eax, eax
je 0x435b09
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x2c], eax
je 0x435b09
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x1c], eax
je 0x435b09
jmp 0x433e80
or ebx, 0xffffffff
test byte [eax + 4], 1
je case.0x435520.53
movzx esi, byte [eax + 0xc]
movzx edi, byte [eax + 0xd]
movzx ebp, byte [eax + 0xe]
mov eax, dword [eax + 0x10]
movzx ecx, word [eax + 4]
movzx ecx, cx
cmp ecx, 0x10b9
jg 0x43494c
je 0x4346a0
sub ecx, 0x1002
je 0x434479
sub ecx, 0x20
je 0x4342f1
sub ecx, 0x17
jne case.0x435520.53
movzx eax, word [eax + 6]
movzx eax, ax
cmp eax, 0x964
jg 0x434167
je 0x4340b0
cmp eax, 0x16
je 0x433fcb
cmp eax, 0x630
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x68
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
mov eax, dword [esp + 0x18]
test al, 1
je case.0x435520.53
and eax, 0xffe0
add eax, 0x80
mov edi, eax
je case.0x435520.53
push 0x1000000
push edi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x433f93
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x13
je 0x433f7f
push ebx
push edi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x433f81
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x14
test eax, eax
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044d250
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
xor esi, esi
mov dword [esp + 0x38], ebx
jmp 0x435ad9
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434009
or dword [esp + 0x18], 1
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x20
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
and dword [esp + 0x18], 0xffe0
jbe case.0x435520.53
mov eax, dword [esp + 0x18]
push 0x1000000
push eax
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434095
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x15
je 0x434081
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434083
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x16
jmp 0x433fa9
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x74
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
mov esi, dword [esp + 0x18]
and esi, 0xfff0
push 0x1000000
add esi, 0xe0
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x434136
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x17
je 0x434122
push ebx
push esi
mov ecx, eax
call fcn.0044a070
mov edi, eax
jmp 0x434124
xor edi, edi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push edi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x18
je 0x433fc0
push edi
mov ecx, eax
call fcn.0044d250
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
cmp eax, 0x965
jl case.0x435520.53
cmp eax, 0x966
jle 0x43423a
cmp eax, 0x968
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x9b
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
xor edx, edx
mov dh, byte [esp + 0x18]
push 0x1000000
mov edi, edx
push edi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434209
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1b
je 0x4341f5
push ebx
push edi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x4341f7
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1c
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044dbd0
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x74
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
mov esi, dword [esp + 0x18]
and esi, 0xfff0
push 0x1000000
add esi, 0xd0
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x4342c0
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x19
je 0x4342ac
push ebx
push esi
mov ecx, eax
call fcn.0044a070
mov edi, eax
jmp 0x4342ae
xor edi, edi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push edi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1a
je 0x433fc0
push edi
mov ecx, eax
call fcn.0044d250
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
movzx eax, word [eax + 6]
movzx eax, ax
add eax, 0xffff8bf5
cmp eax, 0x60
ja case.0x435520.53
movzx edx, byte [eax + 0x435b30]
jmp dword [edx*4 + 0x435b24]
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x41
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
and eax, 0xff
test al, al
mov dword [esp + 0x18], eax
js 0x4343a6
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
or dword [esp + 0x18], 0x8000
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x41
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
and eax, 0xff
test al, al
mov dword [esp + 0x18], eax
jns case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x58
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov esi, dword [esp + 0x18]
and esi, 0xff00
add esi, 0xe0
je case.0x435520.53
push 0x1000000
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x43442c
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 9
je 0x434416
push ebx
push esi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434418
xor esi, esi
mov dword [esp + 0x38], ebx
mov edi, esi
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0xa
je 0x433fc0
push edi
mov ecx, eax
call fcn.0044f660
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
call fcn.00423c10
mov ecx, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x10
push ebp
push edi
push esi
call fcn.00425cc0
jmp case.0x435520.53
movzx eax, word [eax + 6]
movzx eax, ax
add eax, 0xffffbcad
cmp eax, 0x42
ja case.0x435520.53
movzx eax, byte [eax + 0x435b9c]
jmp dword [eax*4 + 0x435b94]
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x4344da
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x90
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
and dword [esp + 0x18], 0xfff0
jbe 0x434592
mov edx, dword [esp + 0x18]
push 0x1000000
push edx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434561
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x2d
je 0x43454d
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x43454f
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x2e
test eax, eax
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044d020
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
call fcn.00423c10
cmp dword [eax + 0x18], 0
je case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x18]
push 0x2d
push 0xcd6
mov ecx, eax
call fcn.004a20a0
call fcn.00423c10
mov eax, dword [eax + 0x18]
lea edx, [esp + 0x16]
push edx
push 0xcd7
mov ecx, eax
call fcn.004a1ec0
call fcn.00423c10
mov eax, dword [eax + 0x18]
push 0x2c
push 0xcd6
mov ecx, eax
call fcn.004a20a0
call fcn.00423c10
mov eax, dword [eax + 0x18]
lea ecx, [esp + 0x17]
push ecx
push 0xcd7
mov ecx, eax
call fcn.004a1ec0
movzx dx, byte [esp + 0x16]
movzx ax, byte [esp + 0x17]
shl dx, 8
add dx, ax
and dx, 0xffe0
movzx eax, dx
test ax, ax
jbe case.0x435520.53
cmp ax, 0xffe0
je case.0x435520.53
movzx edi, ax
push 0x1000000
push edi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434685
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x2f
je 0x434671
push ebx
push edi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434673
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x30
jmp 0x434577
movzx eax, word [eax + 6]
movzx eax, ax
cmp eax, 0x1575
jg 0x4347e2
je 0x4346c4
sub eax, 0x1563
je 0x4346c4
sub eax, 0x10
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434702
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x80
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434746
or dword [esp + 0x18], 7
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0x80
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
and dword [esp + 0x18], 0xfff0
jbe case.0x435520.53
mov eax, dword [esp + 0x18]
push 0x1000000
push eax
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x4347b1
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x2b
je 0x43479d
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x43479f
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x2c
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044e6e0
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
cmp eax, 0x7101
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd1
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 4
jne 0x434850
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
or dword [esp + 0x18], 0x400
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xf0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434894
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0xf0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xe2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
and dword [esp + 0x18], 0xffe0
jbe case.0x435520.53
mov edx, dword [esp + 0x18]
push 0x1000000
push edx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x43491b
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x29
je 0x434907
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434909
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x2a
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044e460
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
sub ecx, 0x10de
je 0x4354e8
sub ecx, 0x28
je 0x434f45
sub ecx, 0x6f80
jne case.0x435520.53
movzx eax, word [eax + 6]
movzx eax, ax
cmp eax, 0x269b
jg 0x434c64
je 0x434b2f
cmp eax, 0x2483
jg 0x434b12
je 0x4349bd
cmp eax, 0x2423
jg 0x4349b2
je 0x4349bd
cmp eax, 0x1c22
je 0x434b2f
cmp eax, 0x2413
je 0x4349bd
jmp case.0x435520.53
cmp eax, 0x2443
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x4349fb
or dword [esp + 0x18], 1
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434a5d
or dword [esp + 0x18], 3
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x20
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
and dword [esp + 0x18], 0xfff0
jbe case.0x435520.53
mov edx, dword [esp + 0x18]
push 0x1000000
push edx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434ae1
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0xd
je 0x434acd
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434acf
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0xe
test eax, eax
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044bc40
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
cmp eax, 0x25a4
jg 0x434c54
je 0x434b2f
sub eax, 0x24c3
je 0x434b2f
sub eax, 0x10
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434b6d
or dword [esp + 0x18], 1
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
and eax, 0xfffffffb
or eax, 1
mov dword [esp + 0x18], eax
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x20
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
and dword [esp + 0x18], 0xfff0
jbe case.0x435520.53
mov edx, dword [esp + 0x18]
push 0x1000000
push edx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434e4c
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0xf
je 0x434e38
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434e3a
cmp eax, 0x266a
je 0x434b2f
jmp case.0x435520.53
cmp eax, 0x3a60
jg 0x434ca7
je 0x434b2f
cmp eax, 0x2930
jg 0x434c97
je 0x434b2f
sub eax, 0x27da
je 0x434b2f
sub eax, 0x64
je 0x434b2f
jmp case.0x435520.53
cmp eax, 0x3a30
je 0x434b2f
jmp case.0x435520.53
cmp eax, 0x8119
jg 0x434e7d
je 0x434e88
cmp eax, 0x3b30
je 0x434b2f
cmp eax, 0x7113
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434d0c
or dword [esp + 0x18], 1
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x434d96
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
or dword [esp + 0x18], 0x10000
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x90
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
and dword [esp + 0x18], 0xfff0
jbe case.0x435520.53
mov eax, dword [esp + 0x18]
push 0x1000000
push eax
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434e1d
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0xb
je 0x434e09
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434e0b
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0xc
jmp 0x434af7
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x10
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044c4b0
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
cmp eax, 0x8186
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x40
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test eax, eax
je case.0x435520.53
and dword [esp + 0x18], 0xffc0
jbe case.0x435520.53
mov eax, dword [esp + 0x18]
push 0x1000000
push eax
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x434f14
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x11
je 0x434f00
mov ecx, dword [esp + 0x18]
push ebx
push ecx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x434f02
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x12
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044c990
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
movzx ecx, word [eax + 6]
movzx ecx, cx
cmp ecx, 0x3287
jg 0x435103
je case.0x434f86.12404
cmp ecx, 0x3086
jg 0x4350dd
je case.0x434f86.12368
sub ecx, 0x3040
cmp ecx, 0x34
ja case.0x435520.53
movzx edx, byte [ecx + 0x435bf0]
jmp dword [edx*4 + 0x435be0]
cmp byte [eax + 0xc], 0
je 0x43504f
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x48
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
test al, 1
je case.0x435520.53
and eax, 0xff00
mov edi, eax
jbe case.0x435520.53
push 0x1000000
push edi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x43501e
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 1
je 0x43500a
push ebx
push edi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x43500c
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 2
je 0x433fc0
push esi
mov ecx, eax
call fcn.0044cbb0
mov esi, eax
mov dword [esp + 0x38], ebx
jmp 0x435ad9
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x20
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
test al, 1
je case.0x435520.53
and eax, 0xff00
mov esi, eax
jbe case.0x435520.53
push 0x1000000
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
test eax, eax
jne case.0x435520.53
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0
je 0x4350c4
push ebx
push esi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x4350c6
xor esi, esi
mov dword [esp + 0x38], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
jmp case.0x435520.53
sub ecx, 0x3147
je case.0x434f86.12404
sub ecx, 0x30
je case.0x434f86.12404
sub ecx, 0xb0
je case.0x434f86.12404
jmp case.0x435520.53
cmp ecx, 0x8235
jg 0x435399
je case.0x434f86.12368
sub ecx, 0x3337
je case.0x434f86.12404
sub ecx, 0x3b
je case.0x434f86.12404
sub ecx, 0x90
je case.0x434f86.12404
jmp case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x90
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
test al, 1
je 0x435282
and eax, 0xfff0
mov ebx, eax
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x4351f0
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
or dword [esp + 0x18], 0x10000
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
test ebx, ebx
jbe case.0x435520.53
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x435252
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 3
je 0x43523a
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x43523c
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 4
test eax, eax
je 0x43527b
push esi
mov ecx, eax
call fcn.0044cbb0
mov esi, eax
jmp 0x435ad1
xor esi, esi
jmp 0x435ad1
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x80
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
test al, 1
je case.0x435520.53
and eax, 0xfff0
mov ebx, eax
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x84
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x43531c
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 0x84
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x84
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
test ebx, ebx
jbe case.0x435520.53
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x43537e
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 5
je 0x435366
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x435368
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 6
jmp 0x435268
sub ecx, 0x8324
je case.0x434f86.12404
sub ecx, 0x2f
je case.0x434f86.12404
sub ecx, 0xb6
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov eax, dword [esp + 0x18]
test al, 1
je case.0x435520.53
and eax, 0xfff0
mov ebx, eax
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x43546b
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
or dword [esp + 0x18], 0x10000
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 0xd0
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0xd2
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
je case.0x435520.53
test ebx, ebx
jbe case.0x435520.53
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov esi, eax
test esi, esi
jne 0x4354cd
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 7
je 0x4354b5
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x4354b7
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 8
jmp 0x435268
movzx eax, word [eax + 6]
movzx eax, ax
cmp eax, 0x368
jg 0x4358ad
je 0x4358e7
cmp eax, 0xd4
jg 0x435527
je case.0x435520.52
sub eax, 0x34
cmp eax, 0x50
ja case.0x435520.53
movzx eax, byte [eax + 0x435c30]
jmp dword [eax*4 + 0x435c28]
cmp eax, 0xe4
je case.0x435520.52
cmp eax, 0x1b4
je 0x435549
cmp eax, 0x264
je 0x4358e7
jmp case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x435587
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x10
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov ebx, dword [esp + 0x18]
and ebx, 0xfffc
jbe 0x435652
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x435610
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1d
je 0x4355f4
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov ebx, eax
jmp 0x4355f6
xor ebx, ebx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x1c], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push ebx
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1e
je 0x43563a
mov edx, dword [esp + 0x1c]
push edx
mov ecx, eax
call fcn.0044f310
mov ebx, eax
jmp 0x43563c
xor ebx, ebx
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x20]
push ebx
call fcn.00422770
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x14
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov esi, dword [esp + 0x18]
and esi, 0xfffc
jbe case.0x435520.53
push 0x1000000
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x4356d7
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x1f
je 0x4356bd
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x4356bf
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
mov edi, esi
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x20
test eax, eax
je 0x43527b
push edi
mov ecx, eax
call fcn.0044f310
mov esi, eax
jmp 0x435ad1
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x435742
or dword [esp + 0x18], 1
call fcn.00423c10
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x50
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov ebx, dword [esp + 0x18]
and ebx, 0xfffc
jbe 0x43580d
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x4357cb
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x21
je 0x4357af
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov ebx, eax
jmp 0x4357b1
xor ebx, ebx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x1c], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push ebx
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x22
je 0x4357f5
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, eax
call fcn.0044f310
mov ebx, eax
jmp 0x4357f7
xor ebx, ebx
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x20]
push ebx
call fcn.00422770
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea edx, [esp + 0x18]
push edx
push 0x54
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov esi, dword [esp + 0x18]
and esi, 0xfffc
jbe case.0x435520.53
push 0x1000000
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x435892
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x23
je 0x435878
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x43587a
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
mov edi, esi
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
mov dword [esp + 0x38], 0x24
jmp 0x4356ed
cmp eax, 0x752
jg 0x4358ce
je 0x4358e7
sub eax, 0x3eb
je 0x4358e7
sub eax, 0x5b
je 0x4358e7
sub eax, 0xfc
je 0x4358e7
jmp case.0x435520.53
cmp eax, 0x7d8
je 0x4358e7
cmp eax, 0xaa2
je 0x4358e7
cmp eax, 0xd79
jne case.0x435520.53
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
test byte [esp + 0x18], 1
jne 0x435925
or dword [esp + 0x18], 1
call fcn.00423c10
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x38]
push edx
push 4
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425d60
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x20
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov ebx, dword [esp + 0x18]
and ebx, 0xfffc
jbe 0x435a0d
push 0x1000000
push ebx
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
test eax, eax
mov dword [esp + 0x20], eax
jne 0x4359ae
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x38], 0x25
je 0x435992
push 0xffffffffffffffff
push ebx
mov ecx, eax
call fcn.0044a070
mov ebx, eax
jmp 0x435994
xor ebx, ebx
mov dword [esp + 0x38], 0xffffffff
mov dword [esp + 0x20], ebx
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push ebx
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x38], 0x26
je 0x4359d8
mov edx, dword [esp + 0x20]
push edx
mov ecx, eax
call fcn.0044f310
mov ebx, eax
jmp 0x4359da
xor ebx, ebx
mov eax, dword [esp + 0x1c]
mov eax, dword [eax + 0x10]
movzx ecx, word [eax + 4]
movzx eax, word [eax + 6]
movzx ecx, cx
movzx edx, ax
shl ecx, 0x10
add ecx, edx
mov dword [esp + 0x38], 0xffffffff
mov dword [ebx + 0x10], ecx
call fcn.00423c10
mov ecx, dword [eax + 0x20]
push ebx
call fcn.00422770
call fcn.00423c10
mov eax, dword [eax + 0x38]
lea ecx, [esp + 0x18]
push ecx
push 0x24
push ebp
push edi
push esi
mov ecx, eax
call fcn.00425cc0
mov esi, dword [esp + 0x18]
and esi, 0xfffc
jbe case.0x435520.53
push 0x1000000
push esi
push 0
call fcn.00423c10
mov ecx, eax
call fcn.00422dd0
mov edi, eax
test edi, edi
jne 0x435a92
push 0x14
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x38], 0x27
je 0x435a78
push 0xffffffffffffffff
push esi
mov ecx, eax
call fcn.0044a070
mov esi, eax
jmp 0x435a7a
xor esi, esi
mov dword [esp + 0x38], 0xffffffff
mov edi, esi
call fcn.00423c10
mov ecx, dword [eax + 0x1c]
push esi
call fcn.00425980
push 0x18
call fcn.004b3e57
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x38], 0x28
je 0x435ab8
push edi
mov ecx, eax
call fcn.0044f310
mov esi, eax
jmp 0x435aba
xor esi, esi
mov edx, dword [esp + 0x1c]
mov eax, dword [edx + 0x10]
movzx ecx, word [eax + 4]
movzx edx, word [eax + 6]
shl ecx, 0x10
add ecx, edx
mov dword [esi + 0x10], ecx
mov dword [esp + 0x38], 0xffffffff
call fcn.00423c10
mov ecx, dword [eax + 0x20]
push esi
call fcn.00422770
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x435b09
mov eax, dword [eax + 8]
test eax, eax
je 0x435b09
mov dword [esp + 0x2c], eax
mov eax, dword [eax + 4]
test eax, eax
mov dword [esp + 0x1c], eax
jne 0x433e80
mov eax, 1
mov ecx, dword [esp + 0x30]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret