Function at 0x2739d80
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x354
mov eax, dword [0x2a00294]
xor eax, ebp
mov dword [ebp - 4], eax
cmp dword [ebp + 0x14], 0
je 0x2739dab
mov eax, dword [ebp + 0x14]
lea ecx, [eax*4 + 0x2c]
mov dword [ebp - 0x354], ecx
jmp 0x2739db5
mov dword [ebp - 0x354], 0
mov edx, dword [ebp - 0x354]
mov dword [ebp - 0x350], edx
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x34c], eax
mov ecx, dword [ebp + 8]
add ecx, 0x10
mov dword [ebp - 0x348], ecx
mov eax, dword [ebp + 8]
xor edx, edx
mov ecx, 4
div ecx
test edx, edx
je 0x2739df0
mov eax, 0xd
jmp 0x273e9de
mov edx, 4
imul eax, edx, 0
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax]
mov eax, 1
imul ecx, eax, 0
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
mov eax, dword [ecx*4 + 0x299d9a0]
xor edx, eax
mov ecx, 4
imul eax, ecx, 0
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
imul eax, edx, 0
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 0
mov eax, dword [ebp + edx - 0x344]
mov ecx, 1
shl ecx, 0
mov edx, dword [ebp + 0xc]
movzx ecx, byte [edx + ecx]
mov edx, dword [ecx*4 + 0x29a89a0]
xor eax, edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + ecx - 0x344]
and edx, 0
or edx, eax
mov eax, 4
shl eax, 0
mov dword [ebp + eax - 0x344], edx
mov ecx, 4
shl ecx, 0
mov edx, dword [ebp + ecx - 0x344]
mov eax, 1
shl eax, 1
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + eax]
mov ecx, dword [eax*4 + 0x29a71a0]
xor edx, ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
shl edx, 1
mov dword [ebp + edx - 0x344], ecx
mov eax, 4
shl eax, 1
mov ecx, dword [ebp + eax - 0x344]
mov edx, 1
imul eax, edx, 3
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [eax*4 + 0x299e5a0]
xor ecx, edx
mov eax, 4
imul edx, eax, 3
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
imul edx, ecx, 3
mov dword [ebp + edx - 0x344], eax
mov eax, 4
shl eax, 0
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax]
mov eax, 1
shl eax, 2
mov ecx, dword [ebp + 0xc]
movzx eax, byte [ecx + eax]
mov ecx, dword [eax*4 + 0x29a51a0]
xor edx, ecx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
shl edx, 2
mov dword [ebp + edx - 0x344], ecx
mov eax, 4
shl eax, 2
mov ecx, dword [ebp + eax - 0x344]
mov edx, 1
imul eax, edx, 5
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [eax*4 + 0x29a7da0]
xor ecx, edx
mov eax, 4
imul edx, eax, 5
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
imul edx, ecx, 5
mov dword [ebp + edx - 0x344], eax
mov eax, 4
imul ecx, eax, 5
mov edx, dword [ebp + ecx - 0x344]
mov eax, 1
imul ecx, eax, 6
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
mov eax, dword [ecx*4 + 0x29999a0]
xor edx, eax
mov ecx, 4
imul eax, ecx, 6
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
imul eax, edx, 6
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 6
mov eax, dword [ebp + edx - 0x344]
mov ecx, 1
imul edx, ecx, 7
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
mov ecx, dword [edx*4 + 0x29975a0]
xor eax, ecx
mov edx, 4
imul ecx, edx, 7
mov edx, dword [ebp + ecx - 0x344]
and edx, 0
or edx, eax
mov eax, 4
imul ecx, eax, 7
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
shl edx, 1
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx]
mov edx, 1
shl edx, 3
mov eax, dword [ebp + 0xc]
movzx edx, byte [eax + edx]
mov eax, dword [edx*4 + 0x29989a0]
xor ecx, eax
mov edx, 4
shl edx, 3
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
shl ecx, 3
mov dword [ebp + ecx - 0x344], eax
mov edx, 4
shl edx, 3
mov eax, dword [ebp + edx - 0x344]
mov ecx, 1
imul edx, ecx, 9
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
mov ecx, dword [edx*4 + 0x299eda0]
xor eax, ecx
mov edx, 4
imul ecx, edx, 9
mov edx, dword [ebp + ecx - 0x344]
and edx, 0
or edx, eax
mov eax, 4
imul ecx, eax, 9
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 9
mov ecx, dword [ebp + eax - 0x344]
mov edx, 1
imul eax, edx, 0xa
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [eax*4 + 0x29a05a0]
xor ecx, edx
mov eax, 4
imul edx, eax, 0xa
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
imul edx, ecx, 0xa
mov dword [ebp + edx - 0x344], eax
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ebp + ecx - 0x344]
mov eax, 1
imul ecx, eax, 0xb
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
mov eax, dword [ecx*4 + 0x2999da0]
xor edx, eax
mov ecx, 4
imul eax, ecx, 0xb
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
imul eax, edx, 0xb
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 3
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx]
mov edx, 1
imul eax, edx, 0xc
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [eax*4 + 0x29939a0]
xor ecx, edx
mov eax, 4
imul edx, eax, 0xc
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
imul edx, ecx, 0xc
mov dword [ebp + edx - 0x344], eax
mov eax, 4
imul ecx, eax, 0xc
mov edx, dword [ebp + ecx - 0x344]
mov eax, 1
imul ecx, eax, 0xd
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + ecx]
mov eax, dword [ecx*4 + 0x29a09a0]
xor edx, eax
mov ecx, 4
imul eax, ecx, 0xd
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
imul eax, edx, 0xd
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 0xd
mov eax, dword [ebp + edx - 0x344]
mov ecx, 1
imul edx, ecx, 0xe
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + edx]
mov ecx, dword [edx*4 + 0x299b1a0]
xor eax, ecx
mov edx, 4
imul ecx, edx, 0xe
mov edx, dword [ebp + ecx - 0x344]
and edx, 0
or edx, eax
mov eax, 4
imul ecx, eax, 0xe
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0xe
mov ecx, dword [ebp + eax - 0x344]
mov edx, 1
imul eax, edx, 0xf
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + eax]
mov edx, dword [eax*4 + 0x29965a0]
xor ecx, edx
mov eax, 4
imul edx, eax, 0xf
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
imul edx, ecx, 0xf
mov dword [ebp + edx - 0x344], eax
mov eax, dword [ebp - 0x350]
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax*4 + 0x10]
mov eax, 4
imul ecx, eax, 3
mov eax, dword [ebp + ecx - 0x344]
and eax, 0xff
mov ecx, dword [eax*4 + 0x29a0da0]
xor edx, ecx
mov eax, 4
shl eax, 4
mov ecx, dword [ebp + eax - 0x344]
and ecx, 0
or ecx, edx
mov edx, 4
shl edx, 4
mov dword [ebp + edx - 0x344], ecx
mov eax, 4
shl eax, 4
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp + eax - 0x344]
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x29aa5a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x11
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x11
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x11
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x10
and edx, 0xff
mov eax, dword [edx*4 + 0x29a79a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x12
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x12
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x12
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 3
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x18
and edx, 0xff
mov eax, dword [edx*4 + 0x299f1a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x13
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x13
mov dword [ebp + ecx - 0x344], edx
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx*4 + 0x14]
mov edx, 4
imul eax, edx, 7
mov edx, dword [ebp + eax - 0x344]
and edx, 0xff
mov eax, dword [edx*4 + 0x29995a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x14
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x14
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x14
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 7
mov edx, dword [ebp + eax - 0x344]
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x29a1da0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x15
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x15
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x15
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 7
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x10
and edx, 0xff
mov eax, dword [edx*4 + 0x29a99a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x16
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x16
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x16
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 7
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x18
and edx, 0xff
mov eax, dword [edx*4 + 0x29a81a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x17
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x17
mov dword [ebp + ecx - 0x344], edx
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx*4 + 0x18]
mov edx, 4
imul eax, edx, 0xb
mov edx, dword [ebp + eax - 0x344]
and edx, 0xff
mov eax, dword [edx*4 + 0x29935a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x18
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x18
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x18
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xb
mov edx, dword [ebp + eax - 0x344]
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x29abda0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x19
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x19
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x19
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xb
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x10
and edx, 0xff
mov eax, dword [edx*4 + 0x299cda0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1a
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1a
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x1a
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xb
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x18
and edx, 0xff
mov eax, dword [edx*4 + 0x29921a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1b
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1b
mov dword [ebp + ecx - 0x344], edx
mov edx, dword [ebp - 0x350]
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx*4 + 0x1c]
mov edx, 4
imul eax, edx, 0xf
mov edx, dword [ebp + eax - 0x344]
and edx, 0xff
mov eax, dword [edx*4 + 0x29a95a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1c
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1c
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x1c
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xf
mov edx, dword [ebp + eax - 0x344]
shr edx, 8
and edx, 0xff
mov eax, dword [edx*4 + 0x29aa1a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1d
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1d
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x1d
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xf
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x10
and edx, 0xff
mov eax, dword [edx*4 + 0x29a9da0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1e
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1e
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x1e
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0xf
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x18
and edx, 0xff
mov eax, dword [edx*4 + 0x29991a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x1f
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x1f
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
shl edx, 3
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx]
mov edx, 4
imul eax, edx, 0x13
mov edx, dword [ebp + eax - 0x344]
and edx, 0xff
mov eax, dword [edx*4 + 0x2993da0]
xor ecx, eax
mov edx, 4
shl edx, 5
mov eax, dword [ebp + edx - 0x344]
and eax, 0
or eax, ecx
mov ecx, 4
shl ecx, 5
mov dword [ebp + ecx - 0x344], eax
mov edx, 4
imul eax, edx, 0xb
mov ecx, dword [ebp - 0x348]
mov edx, dword [ecx + eax]
mov eax, 4
imul ecx, eax, 0x13
mov eax, dword [ebp + ecx - 0x344]
shr eax, 8
and eax, 0xff
mov ecx, dword [eax*4 + 0x2996da0]
xor edx, ecx
mov eax, 4
imul ecx, eax, 0x21
mov eax, dword [ebp + ecx - 0x344]
and eax, 0
or eax, edx
mov ecx, 4
imul edx, ecx, 0x21
mov dword [ebp + edx - 0x344], eax
mov eax, 4
imul ecx, eax, 0xa
mov edx, dword [ebp - 0x348]
mov eax, dword [edx + ecx]
mov ecx, 4
imul edx, ecx, 0x13
mov ecx, dword [ebp + edx - 0x344]
shr ecx, 0x10
and ecx, 0xff
mov edx, dword [ecx*4 + 0x299c1a0]
xor eax, edx
mov ecx, 4
imul edx, ecx, 0x22
mov ecx, dword [ebp + edx - 0x344]
and ecx, 0
or ecx, eax
mov edx, 4
imul eax, edx, 0x22
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 9
mov eax, dword [ebp - 0x348]
mov ecx, dword [eax + edx]
mov edx, 4
imul eax, edx, 0x13
mov edx, dword [ebp + eax - 0x344]
shr edx, 0x18
and edx, 0xff
mov eax, dword [edx*4 + 0x29a39a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x23
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x23
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
imul eax, edx, 0x23
mov ecx, dword [ebp + eax - 0x344]
mov edx, 4
imul eax, edx, 0x17
mov edx, dword [ebp + eax - 0x344]
and edx, 0xff
mov eax, dword [edx*4 + 0x29a65a0]
xor ecx, eax
mov edx, 4
imul eax, edx, 0x24
mov edx, dword [ebp + eax - 0x344]
and edx, 0
or edx, ecx
mov eax, 4
imul ecx, eax, 0x24
mov dword [ebp + ecx - 0x344], edx
mov edx, 4
shl edx, 5
mov eax, dword [ebp + edx - 0x344]
mov ecx, 4
imul edx, ecx, 0x17
mov ecx, dword [ebp + edx - 0x344]
shr ecx, 8
and ecx, 0xff
mov edx, dword [ecx*4 + 0x299dda0]
xor eax, edx
mov ecx, 4
imul edx, ecx, 0x25
mov ecx, dword [ebp + edx - 0x344]
and ecx, 0
or ecx, eax
mov edx, 4
imul eax, edx, 0x25
mov dword [ebp + eax - 0x344], ecx
mov ecx, 4
imul edx, ecx, 0x21
mov eax, dword [ebp + edx - 0x344]
mov ecx, 4