Function at 0x4046c7
Capabilities:
Access peb ldr_data

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x2c
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [edi + 8]
mov dword [ebp - 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x14], eax
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov eax, dword [eax + 8]
mov dword [edi], eax
mov dword [esp + 4], 0x4082d0
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
cmp dword [0x406048], 0x5101cad
jne 0x404714
call fcn.0040140c
mov word [esi], 0x17
mov eax, dword [ebp - 0x14]
imul eax, edi
mov ebx, dword [ebp - 0x10]
sub ebx, eax
cmp dword [0x406070], 0x2ee21482
jne 0x404755
mov eax, dword [0x406040]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], ebx
mov dword [esp + 8], 0x7ff3275c
mov dword [esp + 4], ebx
mov dword [esp], ebx
call fcn.0040507c
cmp dword [0x406034], 0x36935757
jne 0x40477c
mov dword [esp + 8], edi
mov eax, dword [ebp - 0x10]
mov dword [esp + 4], eax
mov dword [esp], 0x47ef0cd1
call fcn.00405416
mov ebx, eax
jmp 0x404786
mov eax, 0x3a77672b
mov ebx, eax
sub ebx, dword [ebp - 0x14]
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x6c], eax
cmp dword [0x406060], 0x6c270653
jne 0x4047d3
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0x1026df01
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], edi
mov eax, dword [0x40607c]
mov dword [esp], eax
call fcn.00402754
cmp dword [0x406064], 0x3e40e114
jne 0x4047fb
mov dword [esp + 0xc], esi
mov dword [esp + 8], esi
mov dword [esp + 4], esi
mov dword [esp], 0xd9abc9f
call fcn.00402a45
mov ebx, eax
jmp 0x404818
mov ebx, 0
mov eax, dword [ebp - 0x10]
test dword [str.gx_W], eax
je 0x404818
test dword [0x406054], edi
je 0x404818
mov ebx, 1
cmp dword [0x40604c], 0x1ad1acd8
jne 0x404842
mov eax, dword [ebp - 0x14]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10]
mov dword [esp + 8], eax
mov dword [esp + 4], 0x76822b4d
mov dword [esp], ebx
call fcn.00405120
mov dword [esp + 4], 0x4082e9
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 0xc
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x74], eax
mov dword [esp + 4], 0x4082fa
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 0xf
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x78], eax
mov dword [esp + 4], 0x40830b
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 9
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x7c], eax
mov dword [esp + 4], 0x40831c
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 0xd
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x14]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x80], eax
mov dword [esp + 4], 0x40832d
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 0x14
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x68], eax
mov dword [esp + 4], 0x408346
mov eax, dword [esi + 4]
mov dword [esp], eax
call fcn.004012e0
mov word [esi], 0x13
mov dword [esp + 8], 0
mov eax, dword [esi + 4]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10]
mov dword [esp], eax
call fcn.0040182c
mov dword [edi + 0x70], eax
mov dword [esp], edi
call fcn.004018ca
test eax, eax
je 0x4049ce
mov dword [esp + 0x18], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x10], 3
mov dword [esp + 0xc], 0
mov dword [esp + 8], 1
mov dword [esp + 4], 0x80000000
mov eax, dword [edi + 0x10]
mov dword [esp], eax
call dword [edi + 0x74]
sub esp, 0x1c
mov dword [edi + 4], eax
mov eax, dword [edi + 4]
test eax, eax
sete dl
cmp eax, 0xffffffff
sete al
or eax, edx
test al, 1
je 0x4049e7
call sub.msvcrt.dll_abort
mov eax, dword fs:[0x18]
mov eax, dword [eax + 0x30]
mov dword [esp + 8], edi
mov dword [esp + 4], 0x1000
mov eax, dword [eax + 8]
mov dword [esp], eax
call fcn.00401a31
lea esp, [ebp - 0xc]
pop ebx
pop esi
pop edi
pop ebp
ret