Function at 0x12723103
Capabilities:
Parse pe header

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x200
push ebx
push esi
push edi
mov esi, 0xfc
xor ebx, ebx
push esi
lea eax, [ebp - 0x104]
mov edi, ecx
push ebx
push eax
mov dword [ebp - 4], edi
mov dword [ebp - 8], ebx
call sub.msvcrt.dll_memset
push esi
lea eax, [ebp - 0x200]
push ebx
push eax
mov dword [ebp - 0x104], esi
call sub.msvcrt.dll_memset
mov eax, dword [edi]
add esp, 0x18
lea ecx, [ebp - 0x200]
push ecx
lea ecx, [ebp - 0x104]
push ecx
mov ecx, edi
mov dword [ebp - 0x200], esi
call dword [eax + 0x58]
cmp eax, ebx
jl 0x12723788
cmp dword [edi + 4], 2
jae 0x12723198
test byte [edi + 0xf1c], 8
jne 0x12723191
mov esi, dword [ebp - 4]
push 4
add esi, 0xfa4
pop ecx
mov edi, 0x12721830
xor eax, eax
repe cmpsd dword [esi], dword es:[edi]
mov edi, dword [ebp - 4]
jne 0x12723198
mov dword [ebp - 8], 1
push 0x400
push 0xff
push dword [edi + 0x15d0]
call sub.msvcrt.dll_memset
mov eax, dword [edi + 0x15d0]
mov dword [eax + 0x34], ebx
mov eax, dword [edi + 0x15d0]
mov dword [eax + 0xe8], ebx
mov eax, dword [edi + 0x15d0]
add esp, 0xc
mov dword [eax + 0xec], ebx
mov eax, dword [edi + 0x15d0]
push ebx
lea esi, [edi + 8]
push 1
mov dword [eax + 0x34], ebx
mov eax, dword [esi]
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 2
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 3
push esi
call dword [eax + 0x5c]
cmp dword [edi + 4], 2
mov eax, dword [esi]
ja 0x1272320c
push ebx
push 4
push esi
call dword [eax + 0x5c]
push 1
jmp 0x12723215
push 1
push 4
push esi
call dword [eax + 0x5c]
push ebx
mov eax, dword [esi]
push 0x1d
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 5
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 6
push esi
call dword [eax + 0x5c]
push dword [ebp + 8]
mov eax, dword [esi]
push 7
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 3
push 8
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 2
push 9
push esi
call dword [eax + 0x5c]
xor eax, eax
mov word [ebp + 8], ax
mov word [ebp + 0xa], ax
push dword [ebp + 8]
mov eax, dword [esi]
push 0xa
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 0xd
push 0xc
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 0xffffffffffffffff
push 0xd
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0xe
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0xf
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x10
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 2
push 0x13
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x14
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 3
push 0x16
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 4
push 0x17
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x18
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 8
push 0x19
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1a
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1c
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1e
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1f
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x20
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x21
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x22
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x23
push esi
call dword [eax + 0x5c]
fldz
mov eax, dword [esi]
fstp dword [ebp + 8]
push dword [ebp + 8]
push 0x24
push esi
call dword [eax + 0x5c]
fld1
mov eax, dword [esi]
fstp dword [ebp + 8]
push dword [ebp + 8]
push 0x25
push esi
call dword [eax + 0x5c]
fld1
mov eax, dword [esi]
fstp dword [ebp + 8]
push dword [ebp + 8]
push 0x26
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x27
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x28
push esi
call dword [eax + 0x5c]
push dword [ebp - 8]
mov eax, dword [esi]
push 0x29
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x1b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x2b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x2c
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x2d
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x2e
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x2f
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x30
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x31
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x40
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x41
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x42
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x43
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x44
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x45
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x46
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x47
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x48
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x49
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4a
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4c
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4d
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4e
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x4f
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x50
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x51
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x52
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x53
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x54
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x55
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x56
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x57
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x58
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x59
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5a
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5c
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5d
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5e
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x5f
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x34
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x35
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x36
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x37
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 8
push 0x38
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push ebx
push 0x39
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x3a
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x3b
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 0xffffffffffffffff
push 0x3c
push esi
call dword [eax + 0x5c]
test byte [ebp - 0x100], 1
je 0x12723547
test byte [ebp - 0xfc], 2
mov eax, dword [esi]
je 0x1272355d
push ebx
jmp 0x1272355f
test byte [ebp - 0x1fc], 1
je 0x12723783
test byte [ebp - 0x1f8], 2
jmp 0x12723540
push 1
push 0xb
push esi
call dword [eax + 0x5c]
mov dword [ebp + 8], ebx
mov ecx, dword [ebp + 8]
mov eax, dword [esi]
push ebx
sub ecx, 0xffffff80
push ecx
push esi
call dword [eax + 0x5c]
inc dword [ebp + 8]
cmp dword [ebp + 8], 8
jb 0x12723568
push 8
lea eax, [edi + 0x1528]
pop ecx
mov dword [eax - 0x20], ebx
mov dword [eax], ebx
add eax, 4
dec ecx
jne 0x12723588
mov eax, dword [esi]
push 1
push 8
push esi
call dword [eax + 0x64]
push 0x800
lea eax, [edi + 0x15d4]
push 0xff
push eax
call sub.msvcrt.dll_memset
add esp, 0xc
mov dword [ebp + 8], ebx
add edi, 0xc
mov eax, dword [edi]
push ebx
push dword [ebp + 8]
push edi
call dword [eax + 0x98]
mov eax, dword [edi]
cmp dword [ebp + 8], ebx
jne 0x127235d7
push 4
push 1
push ebx
jmp 0x127235de
push 1
push 1
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 2
push 2
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 3
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
cmp dword [ebp + 8], ebx
jne 0x12723613
push 2
push 4
push ebx
jmp 0x1272361a
push 1
push 4
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 2
push 5
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 6
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 7
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 8
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 9
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0xa
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0xb
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0xc
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0xd
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0xe
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0xf
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0x10
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0x11
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0x12
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0x13
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0x14
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push 1
push 0x15
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0x16
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
mov eax, dword [edi]
push ebx
push 0x17
push dword [ebp + 8]
push edi
call dword [eax + 0xa0]
inc dword [ebp + 8]
cmp dword [ebp + 8], 8
jb 0x127235bc
mov eax, dword [esi]
push 1
push 0x11
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 1
push 0x12
push esi
call dword [eax + 0x5c]
mov eax, dword [esi]
push 2
push 0x15
push esi
call dword [eax + 0x5c]
mov eax, dword [ebp - 4]
and dword [eax + 0xf1c], 0xfeffffff
xor eax, eax
jmp 0x12723788
mov eax, 0x80004005
pop edi
pop esi
pop ebx
leave
ret 4