Function at 0x10003068
Capabilities:
Parse pe header

Disassembly:
sub esp, 0xb6c
and dword [esp + 0x13c], 0
xor edx, edx
mov dword [esp + 0x134], 0x35008e
mov dword [esp + 0x138], 0xba00d3
mov dword [esp + 0xf8], 0x47659d
add dword [esp + 0xf8], 0x74c3
xor dword [esp + 0xf8], 0x47da49
mov dword [esp + 0x64], 0x16b03d
shl dword [esp + 0x64], 0xb
add dword [esp + 0x64], 0xed86
xor dword [esp + 0x64], 0xb592d586
mov dword [esp + 0x108], 0xfb23e8
shr dword [esp + 0x108], 0xb
xor dword [esp + 0x108], 0xd5e8b
mov dword [esp + 8], 0xfdd5f2
mov eax, dword [esp + 8]
push ebx
push ebp
push esi
push edi
push 0x7d
mov ebp, ecx
mov esi, 0x3dd19e6
pop ecx
div ecx
push 0x45
mov dword [esp + 0x1c], eax
xor edx, edx
add dword [esp + 0x1c], 0xcbcf
imul eax, dword [esp + 0x1c], 0x47
pop ecx
mov dword [esp + 0x18], eax
xor dword [esp + 0x18], 0xca9aaa
mov dword [esp + 0x1c], 0x60d805
add dword [esp + 0x1c], 0xf157
imul eax, dword [esp + 0x1c], 0x6f
mov dword [esp + 0x1c], eax
add dword [esp + 0x1c], 0xffff1d8b
xor dword [esp + 0x1c], 0x2a698711
mov dword [esp + 0x70], 0x461eb5
shr dword [esp + 0x70], 0x10
add dword [esp + 0x70], 0xfffffa64
xor dword [esp + 0x70], 0xfffe16de
mov dword [esp + 0x88], 0xf56f67
or dword [esp + 0x88], 0x76effffb
xor dword [esp + 0x88], 0x76ff178b
mov dword [esp + 0x80], 0xe843d6
shr dword [esp + 0x80], 9
or dword [esp + 0x80], 0xeb7977a7
xor dword [esp + 0x80], 0xeb7e4ac8
mov dword [esp + 0x12c], 0xc775c3
shr dword [esp + 0x12c], 0xa
xor dword [esp + 0x12c], 0x4148c
mov dword [esp + 0x10c], 0x47ad19
xor dword [esp + 0x10c], 0x8ca05529
xor dword [esp + 0x10c], 0x8ce45b33
mov dword [esp + 0x58], 0x7797ca
add dword [esp + 0x58], 0xffffd798
shr dword [esp + 0x58], 8
or dword [esp + 0x58], 0xe3ee0c1e
xor dword [esp + 0x58], 0xe3e5a3bb
mov dword [esp + 0xe0], 0x5e6afb
xor dword [esp + 0xe0], 0x9ae7239f
xor dword [esp + 0xe0], 0x9abf2867
mov dword [esp + 0x90], 0x601153
add dword [esp + 0x90], 0xffff13d2
mov eax, dword [esp + 0x90]
div ecx
mov dword [esp + 0x90], eax
xor dword [esp + 0x90], 0x9cf3d
mov dword [esp + 0x7c], 0x947875
shl dword [esp + 0x7c], 9
shr dword [esp + 0x7c], 3
xor dword [esp + 0x7c], 0x51a1a4e
mov dword [esp + 0xd4], 0xb8c28c
imul eax, dword [esp + 0xd4], 0x49
mov dword [esp + 0xd4], eax
xor dword [esp + 0xd4], 0x34ae70d2
mov dword [esp + 0xa8], 0xc2ac0b
add dword [esp + 0xa8], 0xb387
shl dword [esp + 0xa8], 0xc
xor dword [esp + 0xa8], 0x35f76f73
xor edx, edx
mov dword [esp + 0x48], 0xb3dfde
add dword [esp + 0x48], 0xffffc98b
add dword [esp + 0x48], 0xffff282d
add dword [esp + 0x48], 0xfffff3c5
xor dword [esp + 0x48], 0xb7cb5e
mov dword [esp + 0xe8], 0xce3929
shr dword [esp + 0xe8], 0xe
xor dword [esp + 0xe8], 0xcf8a5
mov dword [esp + 0x20], 0x4b9bcb
shr dword [esp + 0x20], 0xc
add dword [esp + 0x20], 0x5096
add dword [esp + 0x20], 0xffff80b8
xor dword [esp + 0x20], 0xfff7a272
mov dword [esp + 0x128], 0x4e3a9d
add dword [esp + 0x128], 0xffff60d1
xor dword [esp + 0x128], 0x4bf49c
mov dword [esp + 0x68], 0xfbc968
shl dword [esp + 0x68], 5
shr dword [esp + 0x68], 8
mov eax, dword [esp + 0x68]
push 0x12
pop ecx
div ecx
push 0x58
mov dword [esp + 0x6c], eax
xor edx, edx
xor dword [esp + 0x6c], 0x95bff
mov dword [esp + 0x2c], 0x186da6
mov eax, dword [esp + 0x2c]
pop edi
div edi
push 0x13
mov dword [esp + 0x2c], eax
xor edx, edx
imul eax, dword [esp + 0x2c], 0x5d
pop ecx
push 0x4c
mov dword [esp + 0x2c], eax
shr dword [esp + 0x2c], 4
xor dword [esp + 0x2c], 0x3cb81
mov dword [esp + 0xa8], 0x17f08
add dword [esp + 0xa8], 0xffff47e9
mov eax, dword [esp + 0xa8]
div ecx
pop ecx
mov dword [esp + 0xa4], eax
xor edx, edx
xor dword [esp + 0xa4], 0x35e32
mov dword [esp + 0x84], 0x3dc263
add dword [esp + 0x84], 0xffffeb3e
or dword [esp + 0x84], 0x138d63bb
xor dword [esp + 0x84], 0x13b09122
mov dword [esp + 0xf0], 0x9caeb9
xor dword [esp + 0xf0], 0x8d3fa941
xor dword [esp + 0xf0], 0x8dae4352
mov dword [esp + 0x30], 0xd59f02
imul eax, dword [esp + 0x30], 0x43
push 0x6b
mov dword [esp + 0x34], eax
shr dword [esp + 0x34], 0xb
add dword [esp + 0x34], 0xffff94a1
xor dword [esp + 0x34], 0xf796f
mov dword [esp + 0x54], 0x4e21e0
mov eax, dword [esp + 0x54]
div ecx
pop ecx
mov dword [esp + 0x50], eax
xor edx, edx
mov eax, dword [esp + 0x50]
div ecx
push 0xd
mov dword [esp + 0x54], eax
shr dword [esp + 0x54], 0xb
xor dword [esp + 0x54], 0x5bbea
mov dword [esp + 0xcc], 0xa2e2
xor dword [esp + 0xcc], 0x6ed9050e
xor edx, edx
mov eax, dword [esp + 0xcc]
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0xc8], eax
xor dword [esp + 0xc8], 0x887d8d1
mov dword [esp + 0xc0], 0xc915a3
shl dword [esp + 0xc0], 0xe
shr dword [esp + 0xc0], 8
xor dword [esp + 0xc0], 0x4b5f06
mov dword [esp + 0xf8], 0x27479b
or dword [esp + 0xf8], 0x6cb36b75
xor dword [esp + 0xf8], 0x6cb8f553
mov dword [esp + 0xb8], 0x398e58
shr dword [esp + 0xb8], 0xa
shl dword [esp + 0xb8], 6
xor dword [esp + 0xb8], 0x72916
mov dword [esp + 0x38], 0xa5c166
add dword [esp + 0x38], 0x2832
add dword [esp + 0x38], 0xffff4f34
imul eax, dword [esp + 0x38], 0x4e
push 0x6c
pop ecx
push 0x27
mov dword [esp + 0x3c], eax
xor dword [esp + 0x3c], 0x3252bd24
mov dword [esp + 0xa0], 0xe8d1dc
mov eax, dword [esp + 0xa0]
div ecx
xor edx, edx
mov dword [esp + 0xa0], eax
shl dword [esp + 0xa0], 4
xor dword [esp + 0xa0], 0x2ede28
mov dword [esp + 0x120], 0x779bd1
mov eax, dword [esp + 0x120]
pop ecx
div ecx
xor edx, edx
mov dword [esp + 0x11c], eax
xor dword [esp + 0x11c], 0x8222c
mov dword [esp + 0x100], 0x829f9
mov eax, dword [esp + 0x100]
div edi
push 0x4d
mov dword [esp + 0x104], eax
xor edx, edx
xor dword [esp + 0x104], 0x4e4a3
mov dword [esp + 0x18], 0x472d9f
shl dword [esp + 0x18], 0xc
shl dword [esp + 0x18], 1
xor dword [esp + 0x18], 0x2ad1a9bb
xor dword [esp + 0x18], 0xcf6e5326
mov dword [esp + 0x7c], 0x43b12a
add dword [esp + 0x7c], 0xd788
imul eax, dword [esp + 0x7c], 0x53
pop ecx
push 0x5a
mov dword [esp + 0x7c], eax
xor dword [esp + 0x7c], 0x163f5618
mov dword [esp + 0x44], 0xf41401
or dword [esp + 0x44], 0x94efdd86
imul eax, dword [esp + 0x44], 0x14
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x44]
div ecx
xor edx, edx
mov dword [esp + 0x44], eax
xor dword [esp + 0x44], 0x2223af0
mov dword [esp + 0x64], 0x94747c
mov eax, dword [esp + 0x64]
pop ecx
div ecx
mov dword [esp + 0x60], eax
shl dword [esp + 0x60], 1
shl dword [esp + 0x60], 0xb
xor dword [esp + 0x60], 0x1a6f60b8
mov dword [esp + 0x114], 0x742474
shl dword [esp + 0x114], 3
xor dword [esp + 0x114], 0x3a01bbb
mov dword [esp + 0xbc], 0x63a4ee
shr dword [esp + 0xbc], 1
add dword [esp + 0xbc], 0xffffac6a
xor dword [esp + 0xbc], 0x314723
mov dword [esp + 0xb4], 0x8bce2e
xor edx, edx
shr dword [esp + 0xb4], 9
xor dword [esp + 0xb4], 0xb72d5fda
xor dword [esp + 0xb4], 0xb7292c4b
mov dword [esp + 0x44], 0x3eb449
xor dword [esp + 0x44], 0xa33fde10
mov eax, dword [esp + 0x44]
push 0x55
pop ecx
div ecx
push 0x39
mov dword [esp + 0x48], eax
xor edx, edx
imul eax, dword [esp + 0x48], 0x7f
pop ecx
push 0x68
mov dword [esp + 0x48], eax
xor dword [esp + 0x48], 0xf38c5b5a
mov dword [esp + 0x40], 0x269b7b
imul eax, dword [esp + 0x40], 0x68
mov dword [esp + 0x40], eax
add dword [esp + 0x40], 0xffff8ab2
add dword [esp + 0x40], 0xac78
xor dword [esp + 0x40], 0xfacbc66
mov dword [esp + 0x9c], 0x7758f3
xor dword [esp + 0x9c], 0xce45c40e
shr dword [esp + 0x9c], 6
xor dword [esp + 0x9c], 0x33ea97c
mov dword [esp + 0x28], 0x886545
add dword [esp + 0x28], 0xffff6607
add dword [esp + 0x28], 0x605a
shl dword [esp + 0x28], 3
xor dword [esp + 0x28], 0x44995fc
mov dword [esp + 0x114], 0xf8e9ea
imul eax, dword [esp + 0x114], 0x30
mov dword [esp + 0x114], eax
xor dword [esp + 0x114], 0x2eae79ef
mov dword [esp + 0x128], 0xf3072a
xor dword [esp + 0x128], 0x1f2987d2
xor dword [esp + 0x128], 0x1fd8abc5
mov dword [esp + 0xc8], 0xa362dc
add dword [esp + 0xc8], 0x8942
shr dword [esp + 0xc8], 0xd
xor dword [esp + 0xc8], 0x31160
mov dword [esp + 0xdc], 0x7727cf
mov eax, dword [esp + 0xdc]
div ecx
xor edx, edx
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0xe00d4
mov dword [esp + 0x50], 0x8e2b74
shr dword [esp + 0x50], 6
shl dword [esp + 0x50], 7
imul eax, dword [esp + 0x50], 0x39
pop ecx
mov dword [esp + 0x4c], eax
xor dword [esp + 0x4c], 0x3f40b993
mov dword [esp + 0x64], 0x486b2a
add dword [esp + 0x64], 0xffff26a6
add dword [esp + 0x64], 0xffff90e9
imul eax, dword [esp + 0x64], 0xd
mov dword [esp + 0x64], eax
xor dword [esp + 0x64], 0x399fb9d
mov dword [esp + 0x5c], 0xee545e
shr dword [esp + 0x5c], 1
mov eax, dword [esp + 0x5c]
div ecx
mov dword [esp + 0x5c], eax
add dword [esp + 0x5c], 0xffff7d07
xor dword [esp + 0x5c], 0x4827d
mov dword [esp + 0x54], 0x3251cc
xor dword [esp + 0x54], 0x59dd4824
add dword [esp + 0x54], 0xffff5959
imul eax, dword [esp + 0x54], 0x6e
mov dword [esp + 0x54], eax
xor dword [esp + 0x54], 0xa4769f09
mov dword [esp + 0xec], 0x62baac
shr dword [esp + 0xec], 0xc
xor dword [esp + 0xec], 0xf888d
mov dword [esp + 0xe4], 0x4a8780
shr dword [esp + 0xe4], 0xa
xor edx, edx
xor dword [esp + 0xe4], 0xa709e
mov dword [esp + 0xdc], 0x7145e9
mov eax, dword [esp + 0xdc]
push 0x5d
pop ecx
div ecx
mov dword [esp + 0xdc], eax
xor dword [esp + 0xdc], 0x7e124
mov dword [esp + 0xfc], 0xe3fe51
add dword [esp + 0xfc], 0xc332
xor dword [esp + 0xfc], 0xe1f149
mov dword [esp + 0xf4], 0xc3492e
add dword [esp + 0xf4], 0x3ca9
xor dword [esp + 0xf4], 0xcb8734
mov dword [esp + 0xcc], 0x98b9eb
shr dword [esp + 0xcc], 6
imul eax, dword [esp + 0xcc], 0x63
mov dword [esp + 0xcc], eax
xor dword [esp + 0xcc], 0xea9288
mov dword [esp + 0x120], 0x293e43
or dword [esp + 0x120], 0x1a438cbe
xor dword [esp + 0x120], 0x1a6454a0
mov dword [esp + 0x94], 0x55abc8
or dword [esp + 0x94], 0x5feb1262
xor dword [esp + 0x94], 0x4cd42d33
xor dword [esp + 0x94], 0x1320dceb
mov dword [esp + 0xb0], 0x1c22a3
add dword [esp + 0xb0], 0x5fc1
or dword [esp + 0xb0], 0xb3159626
xor dword [esp + 0xb0], 0xb315ac51
mov dword [esp + 0x8c], 0x6ada62
imul eax, dword [esp + 0x8c], 7
mov dword [esp + 0x8c], eax
xor dword [esp + 0x8c], 0x8415fea9
xor dword [esp + 0x8c], 0x86f01784
mov dword [esp + 0xa0], 0xded98c
imul eax, dword [esp + 0xa0], 0x48
mov dword [esp + 0xa0], eax
add dword [esp + 0xa0], 0xffffe1ec
xor dword [esp + 0xa0], 0x3ea0b2f6
mov dword [esp + 0x2c], 0xc252e7
shr dword [esp + 0x2c], 4
shr dword [esp + 0x2c], 0xd
shl dword [esp + 0x2c], 1
xor dword [esp + 0x2c], 0xf9712
mov dword [esp + 0x34], 0xd79c3b
add dword [esp + 0x34], 0xffff27b6
xor dword [esp + 0x34], 0xffe3e218
imul eax, dword [esp + 0x34], 0x1a
mov dword [esp + 0x34], eax
xor dword [esp + 0x34], 0xeb6b74f4
mov dword [esp + 0xac], 0x5fbcbc
imul eax, dword [esp + 0xac], 0x50
mov dword [esp + 0xac], eax
add dword [esp + 0xac], 0xb624
xor dword [esp + 0xac], 0x1deb5cd2
mov dword [esp + 0xd0], 0x91f379
xor dword [esp + 0xd0], 0xbd0e982f
xor dword [esp + 0xd0], 0xbd912839
mov dword [esp + 0x104], 0x970fc5
or dword [esp + 0x104], 0xc6cf9f90
xor dword [esp + 0x104], 0xc6dc5d06
mov dword [esp + 0x6c], 0xca6d08
imul eax, dword [esp + 0x6c], 0x1e
mov dword [esp + 0x6c], eax
add dword [esp + 0x6c], 0xe42c
shr dword [esp + 0x6c], 3
xor dword [esp + 0x6c], 0x2f55d4a
mov eax, dword [esp + 0x18]
mov eax, dword [esp + 0x118]
call fcn.10008172
mov edi, dword [esp + 0xd0]
mov ebx, eax
mov eax, 0x66b236e
cmp esi, 0x664d144
jg 0x10003e1b
je 0x10003dd6
cmp esi, 0x3dd19e6
je 0x10003d9a
cmp esi, 0x481fda7
je 0x10003f5f
cmp esi, 0x495baf4
je 0x10003d01
cmp esi, 0x4c75186
je 0x10003cc5
cmp esi, 0x52a0122
jne 0x10003f51
lea eax, [esp + 0x358]
push eax
push dword [esp + 0x110]
mov ecx, dword [esp + 0x134]
call fcn.10006a43
lea eax, [esp + 0x360]
push eax
push dword [esp + 0x9c]
mov edx, dword [esp + 0xf0]
mov ecx, dword [esp + 0x68]
call fcn.10007555
push dword [esp + 0xb8]
xor ecx, ecx
push dword [esp + 0xe8]
mov edx, dword [esp + 0x94]
mov word [eax], cx
lea ecx, [esp + 0x578]
call fcn.10011868
push dword [esp + 0x38]
mov edx, 0x100017f8
push dword [esp + 0x104]
mov ecx, dword [esp + 0x68]
call fcn.1001e4bc
add esp, 0x20
mov esi, eax
lea eax, [esp + 0x358]
push esi
push dword [esp + 0xa8]
push ecx
push eax
push dword [esp + 0x38]
lea eax, [esp + 0x574]
push dword [esp + 0x7c]
mov edx, dword [esp + 0x140]
lea ecx, [esp + 0x168]
push eax
call fcn.10017ada
add esp, 0x1c
push esi
push dword [esp + 0x34]
mov edx, dword [esp + 0xf8]
mov ecx, dword [esp + 0x8c]
call fcn.100150e2
mov edx, dword [esp + 0xd0]
lea eax, [esp + 0x158]
mov ecx, dword [esp + 0x58]
push eax
push ebp
call fcn.100152f6
add esp, 0x10
test eax, eax
je 0x10003f7f
mov esi, 0x495baf4
jmp 0x10003b77
push dword [esp + 0x8c]
lea eax, [esp + 0x974]
xor ecx, ecx
push dword [esp + 0xb4]
push 0
push eax
push dword [esp + 0xa4]
push 1
push dword [esp + 0x138]
call fcn.10010dcb
add esp, 0x1c
mov esi, 0xe636816
jmp 0x10003b77
mov eax, dword [esp + 0xf8]
mov eax, dword [esp + 0xc0]
call fcn.1000754f
push dword [esp + 0x9c]
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0xbc]
push eax
mov dword [esp + 0x144], eax
call fcn.10010c6f
pop ecx
pop ecx
push dword [esp + 0x114]
lea eax, [eax*2 + 2]
mov edx, ebx
push dword [esp + 0x64]
mov dword [esp + 0x148], eax
lea eax, [esp + 0x140]
push ebx
push dword [esp + 0x80]
push ecx
push eax
push dword [esp + 0x58]
push dword [esp + 0x94]
push ecx
push ebx
push dword [esp + 0x3c]
push dword [esp + 0x12c]
mov ecx, dword [esp + 0x14c]
call fcn.10009eb5
add esp, 0x30
test eax, eax
je 0x10003f7f
mov esi, 0xb74ce5f
jmp 0x10003b77
push ecx
push dword [esp + 0x84]
lea eax, [esp + 0x770]
push ecx
push eax
push dword [esp + 0x98]
push dword [esp + 0x84]
push dword [esp + 0x120]
mov edx, dword [esp + 0x38]
call fcn.1001d7ba
add esp, 0x1c
mov esi, 0x52a0122
jmp 0x10003b77
push dword [esp + 0x124]
push dword [esp + 0x114]
push dword [esp + 0x138]
push dword [esp + 0x30]
mov edx, dword [esp + 0xa8]
mov ecx, dword [esp + 0x144]
call fcn.1001a939
mov edi, eax
add esp, 0x10
test edi, edi
mov esi, 0xc39d3f0
mov eax, 0x66b236e
cmovne esi, eax
jmp 0x10003b7c
cmp esi, eax
je 0x10003ec1
cmp esi, 0xb74ce5f
je 0x10003e7e
cmp esi, 0xc39d3f0
je 0x10003e5c
cmp esi, 0xe636816
jne 0x10003f51
push dword [esp + 0x2c]
mov edx, dword [esp + 0xa4]
mov ecx, edi
call fcn.100081f5
pop ecx
mov esi, 0xc39d3f0
jmp 0x10003b77
push dword [esp + 0xac]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x134]
call fcn.100081f5
pop ecx
mov esi, 0x481fda7
jmp 0x10003b77
lea eax, [esp + 0x130]
push eax
push dword [esp + 0x40]
lea eax, [esp + 0x140]
push eax
push dword [esp + 0x50]
mov edx, dword [esp + 0xc4]
mov ecx, dword [esp + 0xcc]
call fcn.10004753
add esp, 0x10
neg eax
sbb esi, esi
and esi, 0x1e2d39d
add esi, 0x481fda7
jmp 0x10003b77
push dword [esp + 0x4c]
mov edx, 0x100018f8
push dword [esp + 0xdc]
mov ecx, dword [esp + 0xcc]
call fcn.1001e4bc
add esp, 4
mov esi, eax
lea eax, [esp + 0x76c]
mov ecx, esi
push eax
push dword [esp + 0xe4]
lea eax, [esp + 0x97c]
push dword [esp + 0xf0]
push eax
push dword [esp + 0x100]
lea eax, [esp + 0x168]
push edi
push dword [esp + 0x70]
push eax
push dword [esp + 0x80]
mov edx, dword [esp + 0x8c]
call fcn.1001a688
push esi
push dword [esp + 0xf8]
mov edx, dword [esp + 0x124]
mov ecx, dword [esp + 0x12c]
call fcn.100150e2
add esp, 0x30
mov esi, 0x4c75186
mov eax, 0x66b236e
cmp esi, 0x579e5f
jne 0x10003b7c
jmp 0x10003f7f
push dword [esp + 0x6c]
mov edx, dword [esp + 0x108]
push dword [esp + 0x13c]
mov ecx, dword [esp + 0xd8]
call fcn.10007fb8
pop ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xb6c
ret