Function at 0x43722c
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 0x434d68
mov eax, dword fs:[0]
push eax
sub esp, 0xa30
mov eax, dword [0x441084]
xor eax, esp
mov dword [esp + 0xa28], eax
push ebx
push esi
push edi
mov eax, dword [0x441084]
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 + 0x1148]
push ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x7c], eax
call dword [0x43538c]
lea eax, [esp + 0x8c]
push eax
push 0x8004667e
push esi
call dword [0x435338]
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 [0x435358]
mov esi, eax
mov dword [esp + 0x74], esi
cmp esi, ebx
jle 0x437cfa
add dword [esp + 0x70], esi
mov byte [esp + esi + 0x22c], bl
cmp dword [esp + 0x50], ebx
je 0x437bb5
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.00441120
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 0x437bac
cmp byte [0x4450b4], 0
je 0x43749f
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.0043f1cb
mov ebx, eax
add esp, 0x14
test ebx, ebx
je 0x43749f
push edi
call fcn.00446e2d
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.0043f1cb
add esp, 0x14
push 0
push esi
lea eax, [esp + 0x64]
push eax
push dword [esp + 0x24]
push ebx
call fcn.0043f1cb
add esp, 0x14
push 0x43c848
lea esi, [esp + 0x1c]
call fcn.004382ba
mov dword [esp], 0x43c85c
call fcn.004382ba
pop ecx
mov dword [esp + 0x6c], 1
call dword [fcn.00435110]
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, 0x43c86c
push esi
mov dword [esp + 0x58], eax
push eax
mov eax, edi
call fcn.00441d10
mov ebx, eax
pop ecx
pop ecx
test ebx, ebx
je 0x4374e6
push 0x43c880
push ebx
call dword [fcn.004350f0]
test eax, eax
jne 0x4374df
mov dword [esp + 0x38], 1
push ebx
call fcn.00446e2d
pop ecx
push esi
lea esi, [esp + 0x1c]
mov ebx, edi
call fcn.004382ba
mov dword [esp], 0x43c88c
call fcn.004382ba
pop ecx
push 0
push 0x43c89c
push 0x43c8a4
push edi
mov eax, esi
call fcn.00438105
mov esi, eax
add esp, 0x10
cmp esi, edi
je 0x43752d
test esi, esi
je 0x43752d
push edi
call fcn.00446e2d
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 0x43758e
xor esi, esi
inc esi
test eax, eax
jne 0x43758e
cmp byte [edi + esi - 1], 0x20
jne 0x437584
push esi
call fcn.004468af
pop ecx
push esi
mov ebx, eax
push 0
push ebx
mov dword [esp + 0x8c], ebx
call 0x44c100
add esp, 0xc
test ebx, ebx
je 0x43757a
lea eax, [esi - 1]
push eax
push edi
push ebx
call 0x44c950
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 0x437541
push ebx
push dword [esp + 0x1c]
mov eax, edi
mov dword [esp + 0x4c], ebx
call fcn.00441d10
push 0x43c8b0
push ebx
mov dword [esp + 0x50], eax
call 0x451882
add esp, 0x10
test eax, eax
jne 0x437629
mov esi, dword [esp + 0x1c]
mov eax, dword [esi + 0x10]
cmp dword [eax], 1
je 0x437629
push dword [esi + 0xe9c]
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x1c]
push edi
call fcn.0043af1f
pop ecx
pop ecx
test eax, eax
jne 0x437603
mov ecx, dword [esp + 0x18]
push edi
call fcn.0043b3ce
pop ecx
test eax, eax
jne 0x437603
mov edx, dword [esp + 0x18]
push edi
call fcn.0043b4f0
pop ecx
test eax, eax
jne 0x437603
mov ecx, dword [esp + 0x18]
push edi
call fcn.0043b613
pop ecx
mov dword [esp + 0x4c], eax
test eax, eax
je 0x437629
mov edx, dword [esp + 0x18]
push 1
push dword [esi + 0xe9c]
mov ecx, edi
push dword [esi + 0xc]
push eax
call fcn.0043c7fb
add esp, 0x10
mov dword [esp + 0x34], eax
push ebx
push dword [esp + 0x1c]
mov eax, edi
call fcn.00441d10
mov esi, 0x43c8b4
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 0x43767f
mov esi, dword [fcn.00435128]
push ebx
call esi
mov edi, eax
lea eax, [esp + 0x1d0]
push eax
call esi
cmp eax, edi
jge 0x43767f
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 0x4376e4
cmp dword [esp + 0x78], 0
jne 0x4376d8
mov ebx, dword [esp + 0x40]
call fcn.00438369
test eax, eax
je 0x4376d0
push 1
push eax
push dword [esp + 0x88]
lea eax, [esp + 0x24]
push dword [esp + 0x20]
call fcn.00438105
mov esi, eax
add esp, 0x10
cmp esi, dword [esp + 0x14]
je 0x4376d8
test esi, esi
je 0x4376d8
push dword [esp + 0x14]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x14], esi
jmp 0x4376d8
mov dword [esp + 0x24], 1
push dword [esp + 0x40]
call fcn.00446e2d
pop ecx
jmp 0x4376ec
mov dword [esp + 0x24], 1
mov eax, dword [esp + 0x18]
sub dword [esp + 0x54], eax
push 0x43c8c0
push eax
mov eax, dword [esp + 0x1c]
call fcn.00441d10
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x437734
mov ecx, esi
call fcn.00441910
mov edi, eax
test edi, edi
je 0x43772d
push edi
lea eax, [esp + 0x98]
push eax
call fcn.0042adfe
push edi
call fcn.00446e2d
pop ecx
push esi
call fcn.00446e2d
pop ecx
mov esi, dword [esp + 0x30]
call fcn.0043a3c7
mov edx, dword [esp + 0x20]
lea eax, [esp + 0x13c]
push eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 0xe9c]
call fcn.0043a3e9
mov ebx, eax
lea eax, [esp + 0xe8]
mov byte [esp + 0xa48], 5
call fcn.0042ad05
push 1
xor edi, edi
lea esi, [esp + 0x140]
mov byte [esp + 0xa4c], 4
call fcn.0042af28
cmp dword [esp + 0xf8], edi
jne 0x4378bc
mov ecx, dword [esp + 0x20]
call fcn.00441910
cmp dword [esp + 0xa4], 0
mov edi, eax
mov dword [esp + 0x40], edi
jne 0x437842
call dword [fcn.00435110]
test edi, edi
je 0x437842
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 0x4377ee
mov edx, dword [esi + 0xe9c]
mov ebx, dword [edx + 0x3c]
cmp ebx, dword [edx + 0x34]
jbe 0x437846
lea edx, [ecx + ebx]
cmp eax, edx
jae 0x437846
push edi
push 0x43c8c8
call fcn.0043ace2
pop ecx
pop ecx
test eax, eax
je 0x437846
mov ecx, dword [esp + 0x20]
call fcn.0043b919
test eax, eax
jne 0x437846
and dword [esp + 0xa4], eax
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x43782b
lea eax, [esp + 0x94]
mov byte [eax], 0
push 0x43c8d4
lea eax, [esp + 0x98]
push eax
call fcn.0042adfe
jmp 0x437846
mov esi, dword [esp + 0x1c]
cmp dword [esp + 0xa8], 0x10
mov eax, dword [esp + 0x94]
jae 0x43785e
lea eax, [esp + 0x94]
push edi
push eax
call fcn.0043ace2
pop ecx
pop ecx
mov ecx, dword [esp + 0x20]
push eax
push dword [esi + 0xe9c]
lea edx, [esp + 0x160]
call fcn.0043a2a0
mov ebx, eax
lea eax, [esp + 0x104]
mov byte [esp + 0xa48], 6
call fcn.0042ad05
push 1
xor edi, edi
lea esi, [esp + 0x15c]
mov byte [esp + 0xa4c], 4
call fcn.0042af28
cmp dword [esp + 0x40], edi
je 0x4378bc
push dword [esp + 0x40]
call fcn.00446e2d
pop ecx
mov esi, dword [esp + 0x30]
call fcn.0043a3d8
xor eax, eax
cmp dword [esp + 0xf8], eax
jne 0x437af6
cmp dword [esp + 0x114], eax
jne 0x437af6
cmp dword [esp + 0x20], eax
je 0x437af6
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.00438aec
add esp, 0x1c
mov ebx, eax
lea eax, [esp + 0xb0]
mov byte [esp + 0xa48], 7
call fcn.0042ad05
push 1
xor edi, edi
lea esi, [esp + 0x194]
mov byte [esp + 0xa4c], 4
call fcn.0042af28
cmp dword [esp + 0xf8], edi
jne 0x437af6
cmp dword [esp + 0x114], edi
jne 0x437af6
cmp dword [esp + 0xc0], edi
jne 0x437bb3
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.0043fe9d
mov ebx, eax
lea eax, [esp + 0xcc]
mov byte [esp + 0xa48], 9
call fcn.0042ad05
push 1
lea esi, [esp + 0x1b0]
mov byte [esp + 0xa4c], 8
call fcn.0042af28
cmp dword [esp + 0xdc], edi
je 0x437ade
lea eax, [esp + 0xcc]
push eax
lea ebx, [esp + 0x178]
call fcn.0043422b
pop ecx
mov ebx, eax
lea eax, [esp + 0xcc]
mov byte [esp + 0xa48], 0xa
call fcn.0042ad05
push 1
lea esi, [esp + 0x178]
mov byte [esp + 0xa4c], 8
call fcn.0042af28
cmp dword [esp + 0xe0], 0x10
mov eax, dword [esp + 0xcc]
jae 0x437a4f
lea eax, [esp + 0xcc]
push dword [esp + 0x68]
mov ebx, dword [esp + 0x20]
push dword [ebx + 0xe9c]
mov edx, dword [esp + 0x20]
push dword [ebx + 0xc]
mov ecx, dword [esp + 0x20]
push eax
call fcn.0043c7fb
mov edi, eax
add esp, 0x10
test edi, edi
je 0x437ade
cmp dword [esp + 0xe0], 0x10
mov edx, dword [esp + 0xcc]
jae 0x437a8f
lea edx, [esp + 0xcc]
push dword [esp + 0x68]
mov esi, dword [esp + 0x34]
push 1
push ebx
push edi
mov ecx, esi
call fcn.0043ba3a
add esp, 0x10
test eax, eax
je 0x437ad7
call fcn.0043a3c7
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.0043df01
add esp, 0xc
call fcn.0043a3d8
push edi
call fcn.00446e2d
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0xd0]
mov byte [esp + 0xa4c], 4
call fcn.0042af28
xor ebx, ebx
cmp dword [esp + 0xc0], ebx
jne 0x437b55
cmp dword [esp + 0xf8], ebx
jne 0x437b55
mov esi, dword [esp + 0x30]
call fcn.0043a3c7
mov eax, dword [esp + 0x1c]
push dword [esp + 0x20]
mov ecx, dword [eax + 0xe9c]
call fcn.0043a67f
call fcn.0043a3d8
mov esi, 0x43c960
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.00441d10
pop ecx
pop ecx
mov dword [esp + 0x2c], eax
cmp dword [esp + 0x114], ebx
je 0x437bb3
cmp dword [esp + 0x118], 0x10
mov eax, dword [esp + 0x104]
jae 0x437b76
lea eax, [esp + 0x104]
push 0
push eax
push 0x43c8c0
push dword [esp + 0x20]
lea eax, [esp + 0x28]
call fcn.00438105
mov esi, eax
add esp, 0x10
mov dword [esp + 0x64], esi
test esi, esi
je 0x437bb3
cmp esi, dword [esp + 0x14]
je 0x437bb3
push dword [esp + 0x14]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x14], esi
cmp dword [esp + 0x50], 0
jne 0x437c0d
xor ebx, ebx
cmp dword [esp + 0x28], 0xffffffff
jne 0x437bf1
cmp dword [esp + 0x2c], ebx
je 0x437bf1
cmp dword [esp + 0xc0], ebx
jne 0x437bf1
cmp dword [esp + 0x78], ebx
jne 0x437bd7
push dword [esp + 0x2c]
jmp 0x437bdb
push dword [esp + 0x78]
call fcn.004417d0
mov dword [esp + 0x28], eax
cmp eax, 0xffffffff
jne 0x437bf1
mov dword [esp + 0x24], 1
cmp dword [esp + 0x50], ebx
jne 0x437c0f
cmp dword [esp + 0x2c], ebx
je 0x437c0f
push dword [esp + 0x2c]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x2c], ebx
jmp 0x437c0f
xor ebx, ebx
mov esi, dword [esp + 0x28]
cmp esi, 0xffffffff
je 0x437c3d
cmp dword [esp + 0x14], ebx
je 0x437c28
push dword [esp + 0x18]
push dword [esp + 0x18]
jmp 0x437c34
push dword [esp + 0x74]
lea eax, [esp + 0x230]
push eax
push esi
call fcn.00441c70
add esp, 0xc
cmp dword [esp + 0x50], ebx
jne 0x437cb2
push 0x43c8ec
push dword [esp + 0x48]
call 0x451882
pop ecx
pop ecx
test eax, eax
je 0x437c6b
push 0x43c8f0
push dword [esp + 0x48]
call 0x451882
pop ecx
pop ecx
test eax, eax
jne 0x437c9a
cmp dword [esp + 0x58], ebx
jne 0x437c8c
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x18]
call fcn.00441e60
xor ebx, ebx
mov dword [esp + 0x58], eax
test eax, eax
je 0x437ca2
mov eax, dword [esp + 0x54]
add eax, dword [esp + 0x58]
cmp eax, dword [esp + 0x70]
jg 0x437ca2
mov dword [esp + 0x24], 1
cmp esi, 0xffffffff
je 0x437cb2
mov dword [esp + 0x84], 1
cmp dword [esp + 0x14], ebx
je 0x437d2a
push dword [esp + 0x14]
mov esi, dword [fcn.00435128]
call esi
inc eax
push eax
call fcn.004468af
mov edi, eax
pop ecx
mov dword [esp + 0x48], edi
cmp edi, ebx
je 0x437cea
push dword [esp + 0x14]
push edi
call dword [fcn.00435050]
push dword [esp + 0x14]
call esi
mov byte [eax + edi], bl
push dword [esp + 0x14]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x14], ebx
jmp 0x437d2a
call dword [0x435380]
cmp esi, ebx
jne 0x437d0b
cmp eax, 0x2733
jne 0x437d44
push 0x64
call dword [0x435108]
inc dword [esp + 0x60]
cmp dword [esp + 0x60], 5
jle 0x437d30
mov dword [esp + 0x24], 1
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x24], ebx
jne 0x437d48
mov edi, dword [esp + 0x1c]
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
je 0x437392
jmp 0x437d4c
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 0x437d80
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x4c]
push 1
push 1
push edi
push dword [esp + 0x40]
call fcn.0043ba3a
push dword [esp + 0x44]
call fcn.00446e2d
add esp, 0x14
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x4c], ebx
je 0x437d94
push dword [esp + 0x4c]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x4c], ebx
cmp dword [esp + 0x84], 1
jne 0x437e33
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
jne 0x437e33
cmp dword [esp + 0xc0], ebx
jne 0x437e40
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.0042ac4d
sub esp, 0x1c
lea eax, [esp + 0x150]
mov esi, esp
mov dword [esp + 0xc0], esp
push eax
mov byte [esp + 0xa98], 0xb
call fcn.0042ac4d
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.0043e18b
add esp, 0x58
cmp dword [esp + 0xc0], ebx
je 0x437f7a
push 0x12
pop ecx
mov esi, 0x43c8f8
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.00435128]
add esi, eax
lea eax, [esi + 1]
push eax
call fcn.004468af
mov edi, eax
pop ecx
cmp edi, ebx
je 0x437ec6
cmp dword [esp + 0xc4], 0x10
mov eax, dword [esp + 0xb0]
jae 0x437e97
lea eax, [esp + 0xb0]
push eax
lea eax, [esp + 0x1e0]
push eax
push esi
push edi
call fcn.00446f5a
add esp, 0x10
push edi
call dword [fcn.00435128]
push eax
push edi
push dword [esp + 0x44]
call fcn.00441c70
add esp, 0xc
push edi
call fcn.00446e2d
pop ecx
cmp dword [esp + 0x134], 0x10
mov eax, dword [esp + 0x120]
jae 0x437ede
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 0x43c944
push 0x400
push eax
call fcn.00446f5a
push ebx
push ebx
push ebx
lea eax, [esp + 0x658]
push eax
push 0x43c95c
call fcn.00432fe7
mov edi, eax
add esp, 0x2c
cmp edi, ebx
je 0x437f66
push 1
lea eax, [esp + 0x8c]
push eax
mov eax, dword [esi + 0xe9c]
push ebx
push dword [eax + 0x1148]
mov dword [esp + 0x98], ebx
push edi
call fcn.00442120
add esp, 0x14
cmp eax, ebx
je 0x437f5f
push eax
call fcn.00446e2d
pop ecx
push edi
call fcn.00446e2d
pop ecx
call dword [fcn.00435110]
mov ecx, dword [esi + 0xe9c]
mov dword [ecx + 0xee4], eax
mov edi, esi
cmp dword [esp + 0xf8], ebx
je 0x437fc5
cmp dword [esp + 0xfc], 0x10
mov eax, dword [esp + 0xe8]
jae 0x437f9b
lea eax, [esp + 0xe8]
push dword [esp + 0xf8]
push eax
push dword [esp + 0x44]
call fcn.00441c70
add esp, 0xc
call dword [fcn.00435110]
mov ecx, dword [edi + 0xe9c]
mov dword [ecx + 0xee4], eax
mov dword [esp + 0x38], ebx
cmp dword [esp + 0x20], ebx
je 0x437fd9
push dword [esp + 0x20]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x48], ebx
je 0x437fed
push dword [esp + 0x48]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x48], ebx
cmp dword [esp + 0x2c], ebx
je 0x438001
push dword [esp + 0x2c]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x2c], ebx
cmp dword [esp + 0x44], ebx
je 0x438015
push dword [esp + 0x44]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x44], ebx
cmp dword [esp + 0x14], ebx
je 0x438029
push dword [esp + 0x14]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x14], ebx
cmp dword [esp + 0x28], 0xffffffff
je 0x43803f
push dword [esp + 0x28]
call dword [0x435354]
or dword [esp + 0x28], 0xffffffff
cmp dword [esp + 0x34], ebx
je 0x438053
push dword [esp + 0x34]
call fcn.00446e2d
pop ecx
mov dword [esp + 0x34], ebx
cmp dword [esp + 0x38], 1
mov dword [esp + 0x6c], ebx
jne 0x43806c
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp eax, 1
je 0x43736a
cmp dword [esp + 0x3c], 0xffffffff
je 0x43807d
push dword [esp + 0x3c]
call dword [0x435354]
call dword [0x435394]
mov eax, dword [esp + 0x1c]
call fcn.0043aa51
push dword [esp + 0x1c]
call fcn.00446e2d
pop ecx
push 1
xor edi, edi
lea esi, [esp + 0x108]
call fcn.0042af28
xor ebx, ebx
inc ebx
push ebx
lea esi, [esp + 0x98]
call fcn.0042af28
push ebx
lea esi, [esp + 0xec]
call fcn.0042af28
push ebx
lea esi, [esp + 0x124]
call fcn.0042af28
push ebx
lea esi, [esp + 0xb4]
call fcn.0042af28
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.004468ba
mov esp, ebp
pop ebp
ret 8