Function at 0x4070d0
Capabilities:
Access peb ldr_data

Disassembly:
push 0xffffffffffffffff
push 0x539eb2
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xf0
push ebx
push ebp
mov dword [esp + 0x2c], ecx
push esi
push edi
lea ecx, [esp + 0x18]
call fcn.004733a0
mov eax, dword [0x596a5c]
mov dword [esp + 0x108], 0
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
push 0x574b70
lea ecx, [esp + 0x30]
mov byte [esp + 0x10c], 2
call fcn.00519a74
mov ebx, dword [esp + 0x114]
mov edi, dword [esp + 0x110]
mov byte [esp + 0x108], 3
cmp word [ebx + 0xc], 0xffff
jne 0x407185
mov eax, dword [edi + 0x54]
mov ebp, dword [edi + 0x58]
xor esi, esi
test eax, eax
jle 0x40717b
mov eax, dword [esp + 0x118]
mov ecx, dword [ebp + 0xc]
mov edx, dword [ebp + 0x10]
push eax
push ecx
push edx
call fcn.004741d0
add esp, 0xc
cmp eax, 0xffffffff
jne 0x40717b
mov eax, dword [edi + 0x54]
add ebp, 0x38
inc esi
cmp esi, eax
jl 0x407153
cmp esi, dword [edi + 0x54]
jl 0x40718d
jmp 0x4077c5
mov ebp, dword [esp + 0x30]
mov esi, dword [esp + 0x30]
mov eax, dword [ebx]
lea ecx, [esp + 0x18]
push eax
push 0x574acc
call fcn.00473780
cmp word [ebx + 0xc], 0xffff
jne 0x4071bc
mov ecx, dword [ebp]
push 0x574690
push ecx
push 0x57495c
lea ecx, [esp + 0x24]
call fcn.004737a0
mov edx, dword [ebx]
push 0x574ab8
push edx
push 0x57464c
lea ecx, [esp + 0x24]
call fcn.004737a0
cmp word [ebx + 0xc], 0xffff
jne 0x4071e0
push 0x574f2c
jmp 0x4071e5
push 0x574f24
lea ecx, [esp + 0x1c]
call fcn.00473750
lea ecx, [esp + 0x10]
call fcn.00519991
push 0
push 0
push ebx
push 0
lea eax, [esp + 0x20]
push edi
push eax
call fcn.004de710
mov ecx, dword [esp + 0x28]
add esp, 0x18
push ecx
push 0x574a40
lea ecx, [esp + 0x20]
call fcn.00473780
mov ax, word [ebx + 0xc]
cmp ax, 0xffff
je 0x407278
movsx esi, ax
dec esi
lea edx, [esp + 0x38]
push esi
push 0x574f18
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x38]
lea ecx, [esp + 0x18]
push eax
push 0x574ef0
call fcn.00473780
mov edi, dword [edi + 0x60]
test esi, esi
jle 0x407269
push edi
call fcn.00474320
add esp, 4
add edi, eax
dec esi
jne 0x40725b
add edi, 4
lea ecx, [esp + 0x18]
push edi
call fcn.00473750
jmp 0x4072a3
push esi
lea ecx, [esp + 0x3c]
push 0x5748f8
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
mov edx, dword [ebp]
add esp, 0xc
lea eax, [esp + 0x38]
lea ecx, [esp + 0x18]
push edx
push eax
push 0x574ec8
call fcn.004737a0
push 0x574eb8
lea ecx, [esp + 0x1c]
call fcn.00473750
xor esi, esi
cmp word [ebx + 0x16], 3
jne 0x4072cd
push 0x574e94
lea ecx, [esp + 0x1c]
call fcn.00473750
mov esi, 1
test byte [ebx + 0xe], 0x10
je 0x4072e6
push 0x574e58
lea ecx, [esp + 0x1c]
call fcn.00473750
mov esi, 1
mov ecx, dword [ebx + 8]
push ecx
call fcn.004741f0
add esp, 4
test eax, eax
jne 0x40735a
cmp esi, 1
jne 0x407309
push 0x574e50
lea ecx, [esp + 0x1c]
call fcn.00473750
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x14]
push edx
call fcn.00519b43
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx - 8]
cmp byte [eax + ecx - 1], 0x20
jb 0x407343
lea eax, [esp + 0x14]
push eax
call fcn.004de460
add esp, 4
test eax, eax
jne 0x407343
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x18]
call fcn.00519dd2
mov edx, dword [esp + 0x14]
lea ecx, [esp + 0x18]
push edx
call fcn.00473750
lea ecx, [esp + 0x14]
call fcn.00519991
push 0x574e18
lea ecx, [esp + 0x1c]
call fcn.00473750
mov eax, dword [ebx + 0x10]
test eax, eax
jne 0x407376
push 0x57457c
jmp 0x4073ac
mov ecx, dword [esp + 0x120]
lea edx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x38]
push 0
push 0
push edx
push eax
push 0
call fcn.004654a0
test byte [ebx + 0xe], 0x40
je 0x4073a7
push 0x574e10
lea ecx, [esp + 0x18]
call fcn.00519d96
mov eax, dword [esp + 0x14]
push eax
lea ecx, [esp + 0x1c]
call fcn.00473750
push 0x574e00
lea ecx, [esp + 0x1c]
call fcn.00473750
cmp word [ebx + 0xc], 0xffff
jne 0x407400
push 0x574df8
lea ecx, [esp + 0x1c]
call fcn.00473750
test byte [ebp + 0x14], 0x10
je 0x4073e5
push 0x574a8c
jmp 0x4073e9
mov ecx, dword [ebp]
push ecx
lea ecx, [esp + 0x1c]
call fcn.00473750
push 0x574df0
lea ecx, [esp + 0x1c]
call fcn.00473750
mov edx, dword [ebx]
push 0x574564
push edx
lea ecx, [esp + 0x20]
call fcn.00473780
mov eax, dword [ebx + 0x1c]
xor edi, edi
test eax, eax
jle 0x407478
xor ebp, ebp
mov ecx, dword [ebx + 0x20]
mov esi, ebp
add esi, ecx
lea ecx, [esp + 0x14]
call fcn.00519991
test byte [esi + 0x14], 2
je 0x407441
mov eax, dword [esi]
push 0x574dc8
push eax
push 0x574d90
jmp 0x40744e
mov ecx, dword [esi]
push 0x574554
push ecx
push 0x57453c
lea ecx, [esp + 0x24]
call fcn.004737a0
mov edx, dword [ebx + 0x1c]
dec edx
cmp edi, edx
je 0x40746d
push 0x574514
lea ecx, [esp + 0x1c]
call fcn.00473750
mov eax, dword [ebx + 0x1c]
inc edi
add ebp, 0x18
cmp edi, eax
jl 0x40741c
test byte [ebx + 0xe], 0x20
je 0x40748c
push 0x574d48
lea ecx, [esp + 0x1c]
call fcn.00473750
push 0x5744ec
lea ecx, [esp + 0x1c]
call fcn.00473750
mov eax, dword [ebx + 0x1c]
test eax, eax
jle 0x4074af
push 0x574458
lea ecx, [esp + 0x1c]
call fcn.00473750
mov eax, dword [ebx + 0x1c]
xor edi, edi
test eax, eax
jle 0x40775e
test edi, edi
jne 0x4074ce
push 0x5743d4
lea ecx, [esp + 0x1c]
call fcn.00473750
mov ecx, dword [ebx + 0x20]
lea eax, [edi + edi*2]
push 0x5743a8
mov edx, dword [ecx + eax*8]
lea esi, [ecx + eax*8]
push edx
push 0x57436c
lea ecx, [esp + 0x24]
call fcn.004737a0
push 0x574df8
lea ecx, [esp + 0x14]
call fcn.00519b43
test byte [esi + 0x14], 2
je 0x407509
push 0x574d24
jmp 0x40750e
push 0x574d1c
lea ecx, [esp + 0x14]
call fcn.00519d96
push 0x574d14
lea ecx, [esp + 0x14]
call fcn.00519d96
push 0x574360
lea ecx, [esp + 0x14]
call fcn.00519d96
mov eax, dword [ebx + 0x1c]
dec eax
cmp edi, eax
jne 0x40754f
test byte [ebx + 0xe], 0x20
je 0x40754f
push 0x574d00
lea ecx, [esp + 0x14]
call fcn.00519d96
mov ecx, dword [esp + 0x120]
mov eax, dword [esi + 0xc]
push ecx
mov ecx, dword [esp + 0x38]
push 0
lea edx, [esp + 0x1c]
push 0
push edx
push eax
push 0
call fcn.004654a0
lea ecx, [esp + 0x14]
push ecx
lea ecx, [esp + 0x14]
call fcn.00519dd2
test byte [esi + 0x14], 1
je 0x40766b
mov eax, dword [esi + 0xc]
cmp eax, 0x80000201
ja 0x4075f6
je 0x4075e5
cmp eax, 0x80000004
ja 0x4075c8
je 0x4075c3
cmp eax, 0x80000000
je 0x407616
cmp eax, 0x80000002
jne 0x40766b
mov eax, dword [esi + 0x10]
test eax, eax
je 0x4075bc
mov eax, 0x5738c8
jmp 0x407631
mov eax, 0x5738c4
jmp 0x407631
mov eax, dword [esi + 0x10]
jmp 0x407631
cmp eax, 0x80000101
jne 0x40766b
xor edx, edx
lea eax, [esp + 0x38]
mov dl, byte [esi + 0x10]
push edx
push 0x574cfc
push eax
jmp 0x407624
movsx ecx, word [esi + 0x10]
push ecx
lea edx, [esp + 0x3c]
push 0x574800
push edx
jmp 0x407624
cmp eax, 0x80000501
ja 0x40760f
je 0x407616
cmp eax, 0x80000301
je 0x407616
cmp eax, 0x80000401
je 0x407616
jmp 0x40766b
cmp eax, 0x80000601
jne 0x40766b
mov eax, dword [esi + 0x10]
lea ecx, [esp + 0x38]
push eax
push 0x574800
push ecx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
lea eax, [esp + 0x38]
test eax, eax
je 0x40766b
push eax
lea edx, [esp + 0x34]
push 0x574ce8
push edx
call fcn.004e0190
add esp, 0xc
push eax
lea ecx, [esp + 0x14]
mov byte [esp + 0x10c], 4
call fcn.00519dd2
lea ecx, [esp + 0x30]
mov byte [esp + 0x108], 3
call fcn.00519a06
mov eax, dword [esi + 0x14]
test al, 0x1c
je 0x407696
test al, 8
je 0x40767d
push 0x574ccc
jmp 0x40768d
test al, 0x10
je 0x407688
push 0x574ca8
jmp 0x40768d
push 0x574c90
lea ecx, [esp + 0x14]
call fcn.00519d96
mov eax, dword [esi + 0x14]
test al, 0x40
je 0x4076a4
push 0x574c68
jmp 0x4076ad
test al, 0x20
je 0x4076b6
push 0x574c4c
lea ecx, [esp + 0x14]
call fcn.00519d96
mov eax, dword [esp + 0x10]
mov ecx, dword [eax - 8]
cmp byte [ecx + eax - 1], 0x20
jb 0x4076e3
lea eax, [esp + 0x10]
push eax
call fcn.004de460
add esp, 4
test eax, eax
jne 0x4076e3
lea ecx, [esp + 0x2c]
push ecx
lea ecx, [esp + 0x14]
call fcn.00519dd2
mov edx, dword [esi + 4]
push edx
call fcn.004741f0
add esp, 4
test eax, eax
jne 0x40772d
mov eax, dword [esi + 4]
lea ecx, [esp + 0x10]
push eax
call fcn.00519d96
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx - 8]
cmp byte [eax + ecx - 1], 0x20
jb 0x40772d
lea ecx, [esp + 0x10]
push ecx
call fcn.004de460
add esp, 4
test eax, eax
jne 0x40772d
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x10]
push edx
call fcn.00519dd2
mov eax, dword [esp + 0x10]
push 0x574348
push eax
lea ecx, [esp + 0x20]
call fcn.00473780
mov eax, dword [ebx + 0x1c]
inc edi
cmp edi, eax
jl 0x4074bc
test eax, eax
jle 0x40775e
push 0x57433c
lea ecx, [esp + 0x1c]
call fcn.00473750
push 0x5742b0
lea ecx, [esp + 0x1c]
call fcn.00473750
mov ecx, dword [esp + 0x118]
lea edx, [esp + 0x38]
push ecx
push 0x574720
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
mov ecx, dword [esp + 0x128]
add esp, 0xc
lea eax, [esp + 0x38]
lea edx, [esp + 0x30]
push eax
push ecx
push edx
call fcn.00519c4f
push 0
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x114], 5
call fcn.00473ab0
lea ecx, [esp + 0x30]
mov byte [esp + 0x108], 3
call fcn.00519a06
lea ecx, [esp + 0x2c]
mov byte [esp + 0x108], 2
call fcn.00519a06
lea ecx, [esp + 0x14]
mov byte [esp + 0x108], 1
call fcn.00519a06
lea ecx, [esp + 0x10]
mov byte [esp + 0x108], 0
call fcn.00519a06
lea ecx, [esp + 0x18]
mov dword [esp + 0x108], 0xffffffff
mov dword [esp + 0x18], 0x54d7d0
call fcn.004735a0
mov ecx, dword [esp + 0x100]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xfc
ret 0x14