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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x437a69
mov eax, dword fs:[0]
push eax
sub esp, 0xa30
mov eax, dword [0x444084]
xor eax, esp
mov dword [esp + 0xa28], eax
push ebx
push esi
push edi
mov eax, dword [0x444084]
xor eax, esp
push eax
lea eax, [esp + 0xa40]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
mov esi, dword [ecx]
or dword [esp + 0x28], 0xffffffff
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0xc]
push 0xf
mov dword [esp + 0x94], eax
xor ebx, ebx
pop eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc0], ebx
mov byte [esp + 0xb0], bl
mov dword [esp + 0xa48], ebx
mov dword [esp + 0x134], eax
mov dword [esp + 0x130], ebx
mov byte [esp + 0x120], bl
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x84], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x44], ebx
mov dword [esp + 0xfc], eax
mov dword [esp + 0xf8], ebx
mov byte [esp + 0xe8], bl
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x8c], 1
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0xa8], eax
mov dword [esp + 0xa4], ebx
mov byte [esp + 0x94], bl
mov dword [esp + 0x118], eax
mov dword [esp + 0x114], ebx
mov byte [esp + 0x104], bl
mov byte [esp + 0xa48], 4
mov eax, dword [ecx + 0xe9c]
mov eax, dword [eax + 0x1144]
push ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x7c], eax
call dword [0x4383d4]
lea eax, [esp + 0x8c]
push eax
push 0x8004667e
push esi
call dword [0x438374]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x50], 1
mov dword [esp + 0x70], ebx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x60], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x18], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x64], ebx
push ebx
push 0x400
lea eax, [esp + 0x234]
push eax
push dword [esp + 0x48]
call dword [0x43839c]
mov esi, eax
mov dword [esp + 0x74], esi
cmp esi, ebx
jle 0x43cd97
add dword [esp + 0x70], esi
mov byte [esp + esi + 0x22c], bl
cmp dword [esp + 0x50], ebx
je 0x43cc52
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x230]
push eax
mov eax, dword [esp + 0x7c]
lea ebx, [esp + 0x20]
lea esi, [esp + 0x6c]
call fcn.004464f0
mov edi, dword [esp + 0x1c]
neg eax
sbb eax, eax
inc eax
pop ecx
pop ecx
mov dword [esp + 0x24], eax
test edi, edi
je 0x43cc49
cmp byte [0x4480fc], 0
je 0x43c53a
mov esi, dword [esp + 0x1c]
and dword [esp + 0x5c], 0
push 0
add esi, 0x44
push esi
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x24]
push edi
call fcn.0044442f
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x43c53a
push edi
call fcn.0044be17
mov eax, dword [esp + 0x60]
pop ecx
push 0
push esi
lea ecx, [esp + 0x64]
push ecx
push eax
push ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x2c], eax
call fcn.0044442f
add esp, 0x14
push 0
push esi
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x24]
push ebx
call fcn.0044442f
add esp, 0x14
push 0x43fde0
lea esi, [esp + 0x1c]
call fcn.0043d358
mov dword [esp], 0x43fdf4
call fcn.0043d358
pop ecx
mov dword [esp + 0x6c], 1
call dword [fcn.0043813c]
mov dword [esp + 0x7c], eax
mov edi, ebx
mov eax, dword [esp + 0x18]
and dword [esp + 0x24], 0
and dword [esp + 0x50], 0
mov esi, 0x43fe04
push esi
mov dword [esp + 0x58], eax
push eax
mov eax, edi
call fcn.00446f70
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x43c581
push 0x43fe18
push ebx
call dword [fcn.0043811c]
test eax, eax
jne 0x43c57a
mov dword [esp + 0x38], 1
push ebx
call fcn.0044be17
pop ecx
push esi
lea esi, [esp + 0x1c]
mov ebx, edi
call fcn.0043d358
mov dword [esp], 0x43fe24
call fcn.0043d358
pop ecx
push 0
push 0x43fe34
push 0x43fe3c
push edi
mov eax, esi
call fcn.0043d1a3
mov esi, eax
add esp, 0x10
cmp esi, edi
je 0x43c5c8
test esi, esi
je 0x43c5c8
push edi
call fcn.0044be17
pop ecx
mov dword [esp + 0x14], esi
mov edi, esi
xor eax, eax
xor ebx, ebx
mov dword [esp + 0x80], ebx
cmp dword [esp + 0x18], eax
jle 0x43c629
xor esi, esi
inc esi
test eax, eax
jne 0x43c629
cmp byte [edi + esi - 1], 0x20
jne 0x43c61f
push esi
call fcn.0044b86f
pop ecx
push esi
mov ebx, eax
push 0
push ebx
mov dword [esp + 0x8c], ebx
call fcn.00451f20
add esp, 0xc
test ebx, ebx
je 0x43c615
lea eax, [esi - 1]
push eax
push edi
push ebx
call fcn.00450570
add esp, 0xc
mov ebx, dword [esp + 0x80]
xor eax, eax
inc eax
inc esi
lea ecx, [esi - 1]
cmp ecx, dword [esp + 0x18]
jl 0x43c5dc
push ebx
push dword [esp + 0x1c]
mov eax, edi
mov dword [esp + 0x4c], ebx
call fcn.00446f70
push 0x43fe48
push ebx
mov dword [esp + 0x50], eax
call fcn.00456a1a
add esp, 0x10
test eax, eax
jne 0x43c6c4
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 1
je 0x43c6c4
push dword [esi + 0xe9c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
push edi
call fcn.0043ffba
pop ecx
pop ecx
test eax, eax
jne 0x43c69e
mov ecx, dword [esp + 0x18]
push edi
call fcn.00440455
pop ecx
test eax, eax
jne 0x43c69e
mov edx, dword [esp + 0x18]
push edi
call fcn.0044059a
pop ecx
test eax, eax
jne 0x43c69e
mov ecx, dword [esp + 0x18]
push edi
call fcn.004406bd
pop ecx
mov dword [esp + 0x4c], eax
test eax, eax
je 0x43c6c4
mov ecx, dword [esi + 0xe9c]
push 1
push dword [esi + 0xc]
mov edx, edi
push dword [esp + 0x20]
push eax
call fcn.004419db
add esp, 0x10
mov dword [esp + 0x34], eax
push ebx
push dword [esp + 0x1c]
mov eax, edi
call fcn.00446f70
mov esi, 0x43fe4c
lea edi, [esp + 0x1d8]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov ebx, eax
pop ecx
pop ecx
mov dword [esp + 0x20], ebx
movsw word es:[edi], word [esi]
test ebx, ebx
je 0x43c71a
mov esi, dword [fcn.00438154]
push ebx
call esi
mov edi, eax
lea eax, [esp + 0x1d0]
push eax
call esi
cmp eax, edi
jge 0x43c71a
lea eax, [esp + 0x1d0]
push eax
call esi
mov edi, ebx
push ebx
sub edi, eax
call esi
mov byte [eax + edi], 0
cmp dword [esp + 0x40], 0
je 0x43c77f
cmp dword [esp + 0x78], 0
jne 0x43c773
mov ebx, dword [esp + 0x40]
call fcn.0043d407
test eax, eax
je 0x43c76b
push 1
push eax
push dword [esp + 0x88]
lea eax, [esp + 0x24]
push dword [esp + 0x20]
call fcn.0043d1a3
mov esi, eax
add esp, 0x10
cmp esi, dword [esp + 0x14]
je 0x43c773
test esi, esi
je 0x43c773
push dword [esp + 0x14]
call fcn.0044be17
pop ecx
mov dword [esp + 0x14], esi
jmp 0x43c773
mov dword [esp + 0x24], 1
push dword [esp + 0x40]
call fcn.0044be17
pop ecx
jmp 0x43c787
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x18]
sub dword [esp + 0x54], eax
push 0x43fe58
push eax
mov eax, dword [esp + 0x1c]
call fcn.00446f70
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x43c7cf
mov ecx, esi
call fcn.00446b70
mov edi, eax
test edi, edi
je 0x43c7c8
push edi
lea eax, [esp + 0x98]
push eax
call fcn.0042e681
push edi
call fcn.0044be17
pop ecx
push esi
call fcn.0044be17
pop ecx
mov esi, dword [esp + 0x30]
call fcn.0043f460
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x13c]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xe9c]
call fcn.0043f482
mov ebx, eax
lea eax, [esp + 0xe8]
mov byte [esp + 0xa48], 5
call fcn.0042e588
push 1
xor edi, edi
lea esi, [esp + 0x140]
mov byte [esp + 0xa4c], 4
call fcn.0042e7ab
cmp dword [esp + 0xf8], edi
jne 0x43c957
mov ecx, dword [esp + 0x20]
call fcn.00446b70
cmp dword [esp + 0xa4], 0
mov edi, eax
mov dword [esp + 0x40], edi
jne 0x43c8dd
call dword [fcn.0043813c]
test edi, edi
je 0x43c8dd
mov esi, dword [esp + 0x1c]
mov ecx, dword [esi + 0xe9c]
mov edx, dword [ecx + 0xee0]
mov ecx, 0x59d8
add edx, ecx
cmp eax, edx
jb 0x43c889
mov edx, dword [esi + 0xe9c]
mov ebx, dword [edx + 0x3c]
cmp ebx, dword [edx + 0x34]
jbe 0x43c8e1
lea edx, [ecx + ebx]
cmp eax, edx
jae 0x43c8e1
push edi
push 0x43fe60
call fcn.0043fd7d
pop ecx
pop ecx
test eax, eax
je 0x43c8e1
mov ecx, dword [esp + 0x20]
call fcn.004409c3
test eax, eax
jne 0x43c8e1
and dword [esp + 0xa4], eax
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x43c8c6
lea eax, [esp + 0x94]
mov byte [eax], 0
push 0x43fe6c
lea eax, [esp + 0x98]
push eax
call fcn.0042e681
jmp 0x43c8e1
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x43c8f9
lea eax, [esp + 0x94]
push edi
push eax
call fcn.0043fd7d
pop ecx
pop ecx
mov ecx, dword [esp + 0x20]
push eax
push dword [esi + 0xe9c]
lea edx, [esp + 0x160]
call fcn.0043f339
mov ebx, eax
lea eax, [esp + 0x104]
mov byte [esp + 0xa48], 6
call fcn.0042e588
push 1
xor edi, edi
lea esi, [esp + 0x15c]
mov byte [esp + 0xa4c], 4
call fcn.0042e7ab
cmp dword [esp + 0x40], edi
je 0x43c957
push dword [esp + 0x40]
call fcn.0044be17
pop ecx
mov esi, dword [esp + 0x30]
call fcn.0043f471
xor eax, eax
cmp dword [esp + 0xf8], eax
jne 0x43cb93
cmp dword [esp + 0x114], eax
jne 0x43cb93
cmp dword [esp + 0x20], eax
je 0x43cb93
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x120]
push eax
lea eax, [esp + 0x98]
push eax
push dword [esp + 0x20]
lea eax, [esp + 0x19c]
push dword [esp + 0x20]
mov ecx, esi
push dword [esp + 0x30]
push dword [esp + 0x30]
push eax
call fcn.0043db85
add esp, 0x1c
mov ebx, eax
lea eax, [esp + 0xb0]
mov byte [esp + 0xa48], 7
call fcn.0042e588
push 1
xor edi, edi
lea esi, [esp + 0x194]
mov byte [esp + 0xa4c], 4
call fcn.0042e7ab
cmp dword [esp + 0xf8], edi
jne 0x43cb93
cmp dword [esp + 0x114], edi
jne 0x43cb93
cmp dword [esp + 0xc0], edi
jne 0x43cc50
xor eax, eax
mov dword [esp + 0xe0], 0xf
mov dword [esp + 0xdc], eax
mov byte [esp + 0xcc], al
push dword [esp + 0x30]
mov edx, dword [esp + 0x20]
push dword [esp + 0x24]
mov byte [esp + 0xa50], 8
mov dword [esp + 0x70], eax
lea eax, [esp + 0x1b4]
push eax
lea ecx, [esp + 0x74]
call fcn.00445101
mov ebx, eax
lea eax, [esp + 0xcc]
mov byte [esp + 0xa48], 9
call fcn.0042e588
push 1
lea esi, [esp + 0x1b0]
mov byte [esp + 0xa4c], 8
call fcn.0042e7ab
cmp dword [esp + 0xdc], edi
je 0x43cb7b
lea eax, [esp + 0xcc]
push eax
lea ebx, [esp + 0x178]
call fcn.00438c62
pop ecx
mov ebx, eax
lea eax, [esp + 0xcc]
mov byte [esp + 0xa48], 0xa
call fcn.0042e588
push 1
lea esi, [esp + 0x178]
mov byte [esp + 0xa4c], 8
call fcn.0042e7ab
cmp dword [esp + 0xe0], 0x10
mov eax, dword [esp + 0xcc]
jae 0x43caea
lea eax, [esp + 0xcc]
push dword [esp + 0x68]
mov ebx, dword [esp + 0x20]
push dword [ebx + 0xc]
mov ecx, dword [ebx + 0xe9c]
push dword [esp + 0x20]
mov edx, dword [esp + 0x20]
push eax
call fcn.004419db
mov edi, eax
add esp, 0x10
test edi, edi
je 0x43cb7b
cmp dword [esp + 0xe0], 0x10
mov eax, dword [esp + 0xcc]
jae 0x43cb2a
lea eax, [esp + 0xcc]
push dword [esp + 0x68]
mov esi, dword [esp + 0x34]
push 1
push eax
push edi
mov edx, esi
mov ecx, ebx
call fcn.00440ae4
add esp, 0x10
test eax, eax
je 0x43cb74
call fcn.0043f460
mov edx, dword [esp + 0x20]
mov ecx, dword [ebx + 0xe9c]
push 0
lea eax, [esp + 0x124]
push eax
lea eax, [esp + 0xb8]
push eax
call fcn.00443120
add esp, 0xc
call fcn.0043f471
push edi
call fcn.0044be17
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0xd0]
mov byte [esp + 0xa4c], 4
call fcn.0042e7ab
xor ebx, ebx
cmp dword [esp + 0xc0], ebx
jne 0x43cbf2
cmp dword [esp + 0xf8], ebx
jne 0x43cbf2
mov esi, dword [esp + 0x30]
call fcn.0043f460
mov eax, dword [esp + 0x1c]
push dword [esp + 0x20]
mov ecx, dword [eax + 0xe9c]
call fcn.0043f73b
call fcn.0043f471
mov esi, 0x43fef8
lea edi, [esp + 0x1c8]
lea eax, [esp + 0x1c8]
movsd dword es:[edi], dword [esi]
push eax
push dword [esp + 0x1c]
mov eax, dword [esp + 0x1c]
movsw word es:[edi], word [esi]
call fcn.00446f70
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x114], ebx
je 0x43cc50
cmp dword [esp + 0x118], 0x10
mov eax, dword [esp + 0x104]
jae 0x43cc13
lea eax, [esp + 0x104]
push 0
push eax
push 0x43fe58
push dword [esp + 0x20]
lea eax, [esp + 0x28]
call fcn.0043d1a3
mov esi, eax
add esp, 0x10
mov dword [esp + 0x64], esi
test esi, esi
je 0x43cc50
cmp esi, dword [esp + 0x14]
je 0x43cc50
push dword [esp + 0x14]
call fcn.0044be17
pop ecx
mov dword [esp + 0x14], esi
cmp dword [esp + 0x50], 0
jne 0x43ccaa
xor ebx, ebx
cmp dword [esp + 0x28], 0xffffffff
jne 0x43cc8e
cmp dword [esp + 0x2c], ebx
je 0x43cc8e
cmp dword [esp + 0xc0], ebx
jne 0x43cc8e
cmp dword [esp + 0x78], ebx
jne 0x43cc74
push dword [esp + 0x2c]
jmp 0x43cc78
push dword [esp + 0x78]
call fcn.00446a30
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
jne 0x43cc8e
mov dword [esp + 0x24], 1
cmp dword [esp + 0x50], ebx
jne 0x43ccac
cmp dword [esp + 0x2c], ebx
je 0x43ccac
push dword [esp + 0x2c]
call fcn.0044be17
pop ecx
mov dword [esp + 0x2c], ebx
jmp 0x43ccac
xor ebx, ebx
mov esi, dword [esp + 0x28]
cmp esi, 0xffffffff
je 0x43ccda
cmp dword [esp + 0x14], ebx
je 0x43ccc5
push dword [esp + 0x18]
push dword [esp + 0x18]
jmp 0x43ccd1
push dword [esp + 0x74]
lea eax, [esp + 0x230]
push eax
push esi
call fcn.00446ed0
add esp, 0xc
cmp dword [esp + 0x50], ebx
jne 0x43cd4f
push 0x43fe84
push dword [esp + 0x48]
call fcn.00456a1a
pop ecx
pop ecx
test eax, eax
je 0x43cd08
push 0x43fe88
push dword [esp + 0x48]
call fcn.00456a1a
pop ecx
pop ecx
test eax, eax
jne 0x43cd37
cmp dword [esp + 0x58], ebx
jne 0x43cd29
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
call fcn.004470c0
xor ebx, ebx
mov dword [esp + 0x58], eax
test eax, eax
je 0x43cd3f
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x70]
jg 0x43cd3f
mov dword [esp + 0x24], 1
cmp esi, 0xffffffff
je 0x43cd4f
mov dword [esp + 0x84], 1
cmp dword [esp + 0x14], ebx
je 0x43cdc7
push dword [esp + 0x14]
mov esi, dword [fcn.00438154]
call esi
inc eax
push eax
call fcn.0044b86f
mov edi, eax
pop ecx
mov dword [esp + 0x48], edi
cmp edi, ebx
je 0x43cd87
push dword [esp + 0x14]
push edi
call dword [fcn.0043805c]
push dword [esp + 0x14]
call esi
mov byte [eax + edi], bl
push dword [esp + 0x14]
call fcn.0044be17
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x43cdc7
call dword [0x4383c0]
cmp esi, ebx
jne 0x43cda8
cmp eax, 0x2733
jne 0x43cde1
push 0x64
call dword [fcn.00438134]
inc dword [esp + 0x60]
cmp dword [esp + 0x60], 5
jle 0x43cdcd
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x24], ebx
jne 0x43cde5
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
je 0x43c42d
jmp 0x43cde9
mov dword [esp + 0x38], ebx
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x64], ebx
cmp dword [esp + 0x34], ebx
je 0x43ce1e
mov edx, dword [esp + 0x30]
push 1
push 1
push dword [esp + 0x54]
mov ecx, edi
push dword [esp + 0x40]
call fcn.00440ae4
push dword [esp + 0x44]
call fcn.0044be17
add esp, 0x14
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x4c], ebx
je 0x43ce32
push dword [esp + 0x4c]
call fcn.0044be17
pop ecx
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0x84], 1
jne 0x43ced1
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
jne 0x43ced1
cmp dword [esp + 0xc0], ebx
jne 0x43cede
push dword [esp + 0x7c]
lea eax, [esp + 0x98]
push dword [esp + 0x70]
push dword [esp + 0x40]
push dword [esp + 0x54]
push dword [esp + 0x40]
sub esp, 0x1c
mov esi, esp
mov dword [esp + 0xac], esp
push eax
call fcn.0042e4d0
sub esp, 0x1c
lea eax, [esp + 0x150]
mov esi, esp
mov dword [esp + 0xc0], esp
push eax
mov byte [esp + 0xa98], 0xb
call fcn.0042e4d0
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x74]
lea eax, [esp + 0xfc]
push eax
push edi
push dword [esp + 0x90]
mov byte [esp + 0xaa0], 4
call fcn.004433a2
add esp, 0x58
cmp dword [esp + 0xc0], ebx
je 0x43d018
push 0x12
pop ecx
mov esi, 0x43fe90
lea edi, [esp + 0x1dc]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
lea eax, [esp + 0x1dc]
movsb byte es:[edi], byte [esi]
mov esi, dword [esp + 0xc0]
push eax
mov dword [esp + 0x3c], ebx
call dword [fcn.00438154]
add esi, eax
lea eax, [esi + 1]
push eax
call fcn.0044b86f
mov edi, eax
pop ecx
cmp edi, ebx
je 0x43cf64
cmp dword [esp + 0xc4], 0x10
mov eax, dword [esp + 0xb0]
jae 0x43cf35
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x1e0]
push eax
push esi
push edi
call fcn.0044c87f
add esp, 0x10
push edi
call dword [fcn.00438154]
push eax
push edi
push dword [esp + 0x44]
call fcn.00446ed0
add esp, 0xc
push edi
call fcn.0044be17
pop ecx
cmp dword [esp + 0x134], 0x10
mov eax, dword [esp + 0x120]
jae 0x43cf7c
lea eax, [esp + 0x120]
mov esi, dword [esp + 0x1c]
push eax
mov eax, dword [esi + 0xe9c]
push dword [eax + 0xf24]
mov eax, dword [esi + 0xe9c]
push dword [eax + 0xc]
lea eax, [esp + 0x640]
push 0x43fedc
push 0x400
push eax
call fcn.0044c87f
push ebx
push ebx
push ebx
lea eax, [esp + 0x658]
push eax
push 0x43fef4
call fcn.00437024
mov edi, eax
add esp, 0x2c
cmp edi, ebx
je 0x43d004
push 1
lea eax, [esp + 0x8c]
push eax
mov eax, dword [esi + 0xe9c]
push ebx
push dword [eax + 0x1144]
mov dword [esp + 0x98], ebx
push edi
call fcn.00447380
add esp, 0x14
cmp eax, ebx
je 0x43cffd
push eax
call fcn.0044be17
pop ecx
push edi
call fcn.0044be17
pop ecx
call dword [fcn.0043813c]
mov ecx, dword [esi + 0xe9c]
mov dword [ecx + 0xee4], eax
mov edi, esi
cmp dword [esp + 0xf8], ebx
je 0x43d063
cmp dword [esp + 0xfc], 0x10
mov eax, dword [esp + 0xe8]
jae 0x43d039
lea eax, [esp + 0xe8]
push dword [esp + 0xf8]
push eax
push dword [esp + 0x44]
call fcn.00446ed0
add esp, 0xc
call dword [fcn.0043813c]
mov ecx, dword [edi + 0xe9c]
mov dword [ecx + 0xee4], eax
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x20], ebx
je 0x43d077
push dword [esp + 0x20]
call fcn.0044be17
pop ecx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x48], ebx
je 0x43d08b
push dword [esp + 0x48]
call fcn.0044be17
pop ecx
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x2c], ebx
je 0x43d09f
push dword [esp + 0x2c]
call fcn.0044be17
pop ecx
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x44], ebx
je 0x43d0b3
push dword [esp + 0x44]
call fcn.0044be17
pop ecx
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x14], ebx
je 0x43d0c7
push dword [esp + 0x14]
call fcn.0044be17
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x28], 0xffffffff
je 0x43d0dd
push dword [esp + 0x28]
call dword [0x4383a4]
or dword [esp + 0x28], 0xffffffff
cmp dword [esp + 0x34], ebx
je 0x43d0f1
push dword [esp + 0x34]
call fcn.0044be17
pop ecx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x38], 1
mov dword [esp + 0x6c], ebx
jne 0x43d10a
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
je 0x43c405
cmp dword [esp + 0x3c], 0xffffffff
je 0x43d11b
push dword [esp + 0x3c]
call dword [0x4383a4]
call dword [0x4383cc]
mov eax, dword [esp + 0x1c]
call fcn.0043faec
push dword [esp + 0x1c]
call fcn.0044be17
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0x108]
call fcn.0042e7ab
xor ebx, ebx
inc ebx
push ebx
lea esi, [esp + 0x98]
call fcn.0042e7ab
push ebx
lea esi, [esp + 0xec]
call fcn.0042e7ab
push ebx
lea esi, [esp + 0x124]
call fcn.0042e7ab
push ebx
lea esi, [esp + 0xb4]
call fcn.0042e7ab
xor eax, eax
mov ecx, dword [esp + 0xa40]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xa28]
xor ecx, esp
call fcn.0044b87a
mov esp, ebp
pop ebp
ret 8