Function at 0x43e240
Capabilities:
Access peb ldr_data
Check os version

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5e84a0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x24
push ebx
push esi
mov esi, ecx
push edi
lea ecx, [esp + 0xc]
mov dword [esp + 0x14], esi
call fcn.005e2960
lea ecx, [esp + 0x10]
mov dword [esp + 0x38], 0
call fcn.005e2960
mov edi, dword [0x6408c4]
mov eax, dword [esi + 0x1978]
neg edi
sbb edi, edi
push 0
and edi, 2
push 0
add edi, 0xc
push 0x1004
push eax
mov byte [esp + 0x48], 1
mov dword [esp + 0x28], edi
call dword [0x600bfc]
mov dword [esp + 0x20], eax
mov eax, dword [ebp + 8]
test eax, eax
jge 0x43e2c4
xor ecx, ecx
mov eax, 8
jmp 0x43e2c7
mov ecx, eax
inc eax
mov edx, dword [0x6408c4]
test edx, edx
je 0x43e45e
mov edx, dword [esi + 0x14c0]
test edx, edx
je 0x43e45e
cmp ecx, eax
jge 0x43e726
sub eax, ecx
lea ebx, [esi + ecx*4 + 0x88]
mov dword [esp + 0x1c], eax
mov eax, dword [ebx + 0x24]
xor esi, esi
cmp eax, esi
je 0x43e447
mov ecx, dword [ebx]
mov edx, dword [esp + 0x14]
mov dword [ecx + 0xb8], esi
mov eax, dword [edx + 0x14bc]
test eax, eax
jle 0x43e430
mov edx, dword [ebx]
mov eax, dword [edx + 0x7c]
add eax, 0xfffffffa
cmp eax, 5
ja case.0x43e32c.8
jmp dword [eax*4 + 0x43e75c]
xor ecx, ecx
jmp 0x43e35b
mov ecx, 1
jmp 0x43e35b
mov ecx, 2
jmp 0x43e35b
mov ecx, 3
jmp 0x43e35b
mov ecx, 4
jmp 0x43e35b
mov ecx, dword [edx + 0x7c]
sub ecx, edi
add ecx, 5
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x14b0]
mov eax, dword [edi + 0x10]
fld qword [eax + esi*8]
fcomp qword [0x604fd0]
fnstsw ax
test ah, 0x41
jne 0x43e41b
mov ecx, dword [edi + ecx*4]
mov eax, dword [edx + 0xb8]
mov edx, dword [edx + 0xb0]
mov edi, dword [ecx + esi*8]
mov dword [edx + eax*8], edi
mov ecx, dword [ecx + esi*8 + 4]
mov dword [edx + eax*8 + 4], ecx
mov ecx, dword [ebx]
mov eax, dword [ecx + 0xa4]
lea edx, [eax - 6]
cmp edx, 5
ja case.0x43e3a9.8
jmp dword [edx*4 + 0x43e774]
xor edx, edx
jmp 0x43e3d9
mov edx, 1
jmp 0x43e3d9
mov edx, 2
jmp 0x43e3d9
mov edx, 3
jmp 0x43e3d9
mov edx, 4
jmp 0x43e3d9
sub eax, dword [esp + 0x18]
add eax, 5
mov edx, eax
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x14b0]
mov eax, dword [edi + 0x10]
fld qword [eax + esi*8]
fcomp qword [0x604fd0]
fnstsw ax
test ah, 0x41
jne 0x43e41b
mov edx, dword [edi + edx*4]
mov eax, dword [ecx + 0xb8]
mov ecx, dword [ecx + 0xb4]
mov edi, dword [edx + esi*8]
mov dword [ecx + eax*8], edi
mov edx, dword [edx + esi*8 + 4]
mov dword [ecx + eax*8 + 4], edx
mov eax, dword [ebx]
inc dword [eax + 0xb8]
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
inc esi
cmp esi, dword [eax + 0x14bc]
jl 0x43e31f
mov ecx, dword [ebx]
call fcn.005d5e90
mov eax, dword [ebx]
push 0
push 0
mov ecx, dword [eax + 0x20]
push ecx
call dword [0x600b0c]
mov eax, dword [esp + 0x1c]
add ebx, 4
dec eax
mov dword [esp + 0x1c], eax
jne 0x43e2f8
jmp 0x43e726
cmp ecx, eax
jge 0x43e726
sub eax, ecx
lea edi, [esi + ecx*4 + 0x88]
mov esi, dword [0x600a74]
mov dword [esp + 0x18], eax
mov eax, dword [edi + 0x24]
xor ebx, ebx
cmp eax, ebx
je 0x43e714
mov edx, dword [edi]
mov eax, dword [esp + 0x20]
cmp eax, ebx
mov dword [edx + 0xb8], ebx
jle 0x43e6fd
mov eax, dword [esp + 0x14]
add eax, 0x1958
mov dword [esp + 0x1c], eax
mov ecx, dword [edi]
lea eax, [esp + 0x24]
mov edx, dword [ecx + 0x7c]
mov ecx, dword [esp + 0x1c]
push edx
push ebx
push eax
call fcn.005e2b1c
push eax
lea ecx, [esp + 0x10]
mov byte [esp + 0x3c], 2
call fcn.005e2a44
lea ecx, [esp + 0x24]
mov byte [esp + 0x38], 1
call fcn.005e2954
mov ecx, dword [edi]
lea eax, [esp + 0x28]
mov edx, dword [ecx + 0xa4]
mov ecx, dword [esp + 0x1c]
push edx
push ebx
push eax
call fcn.005e2b1c
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x3c], 3
call fcn.005e2a44
lea ecx, [esp + 0x28]
mov byte [esp + 0x38], 1
call fcn.005e2954
lea ecx, [esp + 0xc]
call fcn.005e2b52
lea ecx, [esp + 0xc]
call fcn.005e2bdc
lea ecx, [esp + 0x10]
call fcn.005e2b52
lea ecx, [esp + 0x10]
call fcn.005e2bdc
mov ecx, dword [esp + 0xc]
push 0x639818
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov edx, dword [esp + 0xc]
push 0x62f6fc
push edx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov eax, dword [esp + 0xc]
push 0x62f1c0
push eax
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov ecx, dword [esp + 0xc]
push 0x62d2c0
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov edx, dword [esp + 0x10]
push 0x639818
push edx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov eax, dword [esp + 0x10]
push 0x62f6fc
push eax
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov ecx, dword [esp + 0x10]
push 0x62f1c0
push ecx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov edx, dword [esp + 0xc]
push 0x62d2c0
push edx
call esi
add esp, 8
test eax, eax
je 0x43e6f0
mov eax, dword [esp + 0xc]
mov ax, word [eax]
cmp ax, 0x2d
je 0x43e643
cmp ax, 0x2b
je 0x43e643
cmp ax, 0x2e
je 0x43e643
cmp ax, 0x30
je 0x43e643
cmp ax, 0x31
je 0x43e643
cmp ax, 0x32
je 0x43e643
cmp ax, 0x33
je 0x43e643
cmp ax, 0x34
je 0x43e643
cmp ax, 0x35
je 0x43e643
cmp ax, 0x36
je 0x43e643
cmp ax, 0x37
je 0x43e643
cmp ax, 0x38
je 0x43e643
cmp ax, 0x39
jne 0x43e6f0
mov ecx, dword [esp + 0x10]
mov ax, word [ecx]
cmp ax, 0x2d
je 0x43e698
cmp ax, 0x2b
je 0x43e698
cmp ax, 0x2e
je 0x43e698
cmp ax, 0x30
je 0x43e698
cmp ax, 0x31
je 0x43e698
cmp ax, 0x32
je 0x43e698
cmp ax, 0x33
je 0x43e698
cmp ax, 0x34
je 0x43e698
cmp ax, 0x35
je 0x43e698
cmp ax, 0x36
je 0x43e698
cmp ax, 0x37
je 0x43e698
cmp ax, 0x38
je 0x43e698
cmp ax, 0x39
jne 0x43e6f0
push ecx
lea edx, [esp + 0x10]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.005e2b04
call fcn.00543c70
mov eax, dword [edi]
mov dword [esp + 0x30], esp
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xb0]
lea eax, [esp + 0x14]
fstp qword [edx + ecx*8]
mov ecx, esp
push eax
call fcn.005e2b04
call fcn.00543c70
mov eax, dword [edi]
add esp, 4
mov ecx, dword [eax + 0xb8]
mov edx, dword [eax + 0xb4]
fstp qword [edx + ecx*8]
mov eax, dword [edi]
inc dword [eax + 0xb8]
mov eax, dword [esp + 0x20]
inc ebx
cmp ebx, eax
jl 0x43e4a7
mov ecx, dword [edi]
call fcn.005d5e90
mov eax, dword [edi]
push 0
push 0
mov eax, dword [eax + 0x20]
push eax
call dword [0x600b0c]
mov eax, dword [esp + 0x18]
add edi, 4
dec eax
mov dword [esp + 0x18], eax
jne 0x43e479
lea ecx, [esp + 0x10]
mov byte [esp + 0x38], 0
call fcn.005e2954
lea ecx, [esp + 0xc]
mov dword [esp + 0x38], 0xffffffff
call fcn.005e2954
mov ecx, dword [esp + 0x30]
pop edi
pop esi
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret 4