Function at 0x423040
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x300
mov esi, esp
mov ebx, dword [ebp + 0xc]
lea eax, [0x44cdf0]
mov dword [esi + 0x28c], eax
mov al, byte [esi + 0x8c]
mov byte [esi + 0xa4], al
mov byte [esi + 0x90], 0x6b
mov byte [esi + 0x91], 0xf1
mov byte [esi + 0x92], 0x6f
mov byte [esi + 0x93], 0xf3
mov byte [esi + 0x94], 0x65
mov byte [esi + 0x95], 0xed
mov byte [esi + 0x96], 0x22
mov byte [esi + 0x97], 0xef
mov byte [esi + 0x98], 0x3e
mov byte [esi + 0x99], 0xe9
mov byte [esi + 0x9a], 0x76
mov byte [esi + 0x9b], 0xeb
mov byte [esi + 0x9c], 6
mov byte [esi + 0x9d], 0xe5
mov byte [esi + 0x9e], 0xe6
mov byte [esi + 0x9f], 0xe7
mov eax, 0x10
mov byte [esi + eax + 0x90], 0
add eax, 1
cmp eax, 0x13
jne 0x4230e1
xor eax, eax
cmp eax, 0x13
jae 0x423126
movzx edx, byte [esi + eax + 0x90]
mov ecx, eax
add ecx, 0x2c
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov edi, 0xd3
sub edi, eax
and edi, edx
or ecx, edi
add cl, 0x24
mov byte [esi + eax + 0x90], cl
add eax, 1
jmp 0x4230f3
lea eax, [esi + 0x90]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0041c6e0
add esp, 0xc
and al, 1
movzx ebx, al
mov al, byte [esi + 0x88]
mov byte [esi + 0xa8], al
mov byte [esi + 0x3c], 0x13
mov byte [esi + 0x3d], 0xf1
mov byte [esi + 0x3e], 0x6f
mov byte [esi + 0x3f], 0xf3
mov byte [esi + 0x40], 0x7e
mov byte [esi + 0x41], 0xed
mov byte [esi + 0x42], 0x62
mov byte [esi + 0x43], 0xef
mov byte [esi + 0x44], 0x21
mov byte [esi + 0x45], 0xe9
mov byte [esi + 0x46], 0x3c
mov byte [esi + 0x47], 0xeb
mov byte [esi + 0x48], pe_nt_image_headers32
mov byte [esi + 0x49], 0xe5
mov byte [esi + 0x4a], 4
mov byte [esi + 0x4b], 0xe7
mov byte [esi + 0x4c], 0xe0
mov byte [esi + 0x4d], 0xe1
mov eax, 0x12
mov byte [esi + eax + 0x3c], 0
add eax, 1
cmp eax, 0x14
jne 0x4231a3
xor eax, eax
cmp eax, 0x14
jae 0x4231f6
movzx edx, byte [esi + eax + 0x3c]
mov edi, eax
add edi, 0xef56c2ac
mov ecx, 0xa93d53
sub ecx, eax
and ecx, 0x50883e0
and edi, 0xfaf77c1f
or ecx, edi
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x46
xor edx, 0x40
xor ecx, 0x43
add ecx, edx
add cl, 1
mov byte [esi + eax + 0x3c], cl
add eax, 1
jmp 0x4231b2
lea eax, [esi + 0x3c]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041c6e0
add esp, 0xc
and al, 1
movzx eax, al
or ebx, eax
cmp ebx, 0
setne byte [esi + 2]
mov al, byte [esi + 0x84]
mov byte [esi + 0xac], al
mov byte [esi + 0x108], 0x5a
mov byte [esi + 0x109], 0x3f
mov byte [esi + 0x10a], 0x4f
mov byte [esi + 0x10b], 0x31
mov byte [esi + 0x10c], 0x42
mov byte [esi + 0x10d], 0x33
mov byte [esi + 0x10e], 0x4d
mov byte [esi + 0x10f], 0x35
mov byte [esi + 0x110], 0x4c
mov byte [esi + 0x111], 0x37
mov byte [esi + 0x112], 0x4d
mov byte [esi + 0x113], 0x49
mov byte [esi + 0x114], 0x3d
mov byte [esi + 0x115], 0x4b
mov byte [esi + 0x116], 0x3e
mov byte [esi + 0x117], 0x4d
mov byte [esi + 0x118], 0x3d
mov byte [esi + 0x119], 0x4f
mov byte [esi + 0x11a], 0x3c
mov byte [esi + 0x11b], 0x41
mov byte [esi + 0x11c], 0xcb
mov byte [esi + 0x11d], 0x43
mov byte [esi + 0x11e], 0x7c
mov byte [esi + 0x11f], 0x45
mov byte [esi + 0x120], 0x31
mov byte [esi + 0x121], 0x47
mov byte [esi + 0x122], 0x35
mov byte [esi + 0x123], 0x59
mov byte [esi + 0x124], 0x24
mov byte [esi + 0x125], 0x5b
mov byte [esi + 0x126], 0x21
mov byte [esi + 0x127], 0x5d
mov byte [esi + 0x128], 0x28
mov byte [esi + 0x129], 0x5f
mov byte [esi + 0x12a], 0x39
mov byte [esi + 0x12b], 0x51
mov byte [esi + 0x12c], 0x50
mov byte [esi + 0x12d], 0x53
mov eax, 0x26
mov byte [esi + eax + 0x108], 0
add eax, 1
cmp eax, 0x29
jne 0x42333e
xor eax, eax
cmp eax, 0x29
jae 0x4233be
movzx edi, byte [esi + eax + 0x108]
mov ecx, eax
add ecx, 0x35
mov dword [esi + 0x168], ecx
mov ecx, edi
and ecx, 0x38
xor ecx, 0x38
mov ebx, edi
add ebx, 1
xor edi, 0xffffffff
or edi, 0xc7
add edi, ebx
mov ebx, 0xa2130dca
sub ebx, eax
mov edx, 0xa2130dca
sub edx, eax
or ebx, edx
mov edx, ebx
xor edx, 0xc7
or ebx, 0x38
and ebx, edx
mov edx, dword [esi + 0x168]
and edx, 0xc7
or ecx, edi
add ebx, edx
xor ecx, ebx
add cl, 0xf7
mov byte [esi + eax + 0x108], cl
add eax, 1
jmp 0x423350
lea eax, [esi + 0x108]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0041c6e0
add esp, 0xc
and al, 1
movzx eax, al
mov cl, byte [esi + 2]
and cl, 1
movzx ecx, cl
or ecx, eax
cmp ecx, 0
setne byte [esi + 3]
mov al, byte [esi + 0x80]
mov byte [esi + 0xb0], al
mov byte [esi + 0x134], 0x53
mov byte [esi + 0x135], 0x31
mov byte [esi + 0x136], 0x45
mov byte [esi + 0x137], 0x33
mov byte [esi + 0x138], 0x4b
mov byte [esi + 0x139], 0x3d
mov byte [esi + 0x13a], 0x55
mov byte [esi + 0x13b], 0x3f
mov byte [esi + 0x13c], 0x51
mov byte [esi + 0x13d], 0x39
mov byte [esi + 0x13e], 0x57
mov byte [esi + 0x13f], 0x3b
mov byte [esi + 0x140], 0x37
mov byte [esi + 0x141], 0x45
mov byte [esi + 0x142], 0x70
mov byte [esi + 0x143], 0x47
mov byte [esi + 0x144], 0x33
mov byte [esi + 0x145], 0x41
mov byte [esi + 0x146], 0x33
mov byte [esi + 0x147], 0x43
mov byte [esi + 0x148], 0x38
mov byte [esi + 0x149], 0x4d
mov byte [esi + 0x14a], 0x27
mov byte [esi + 0x14b], 0x4f
mov byte [esi + 0x14c], 0x34
mov byte [esi + 0x14d], 0x49
mov byte [esi + 0x14e], 0x27
mov byte [esi + 0x14f], 0x4b
mov byte [esi + 0x150], 0x54
mov byte [esi + 0x151], 0x55
mov eax, 0x1e
mov byte [esi + eax + 0x134], 0
add eax, 1
cmp eax, 0x22
jne 0x4234da
xor eax, eax
cmp eax, 0x22
jae 0x42358d
movzx edx, byte [esi + eax + 0x134]
mov dword [esi + 0x50], eax
mov ecx, dword [esi + 0x50]
add ecx, 0x2a6d7eb4
mov edi, ecx
and edi, edx
mov eax, edi
and eax, 0xfd
mov ebx, edi
and ebx, 2
xor ebx, 2
imul ebx, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ebx
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xd592814b
sub eax, dword [esi + 0x50]
and edi, eax
sub ecx, edi
add ecx, edx
mov ebx, ecx
add ebx, 0x2bdc867b
mov edx, ebx
and edx, 1
mov edi, 0xd4237984
sub edi, ecx
mov ecx, edi
and ecx, 0x50
and ebx, 0xaf
or ecx, ebx
mov ebx, dword [ebp + 0xc]
xor ecx, 0x51
and edi, 1
xor edi, 1
or ecx, edi
or edx, 0xd4
add edx, ecx
mov eax, dword [esi + 0x50]
add dl, 0x2c
mov byte [esi + eax + 0x134], dl
add eax, 1
jmp 0x4234ec
lea eax, [esi + 0x134]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.0041c6e0
add esp, 0xc
and al, 1
movzx eax, al
mov cl, byte [esi + 3]
and cl, 1
movzx ecx, cl
mov edx, ecx
and edx, eax
xor ecx, eax
or edx, ecx
cmp edx, 0
setne bl
mov al, byte [esi + 0x60]
mov byte [esi + 0xb4], al
mov byte [esi + 0x64], 0x70
mov byte [esi + 0x65], 0xe7
mov byte [esi + 0x66], 0x77
mov byte [esi + 0x67], 0xe1
mov byte [esi + 0x68], 0x79
mov byte [esi + 0x69], 0xe3
mov byte [esi + 0x6a], 0x79
mov byte [esi + 0x6b], 0xdd
mov byte [esi + 0x6c], 0x4a
mov byte [esi + 0x6d], 0xdf
mov byte [esi + 0x6e], 0x53
mov byte [esi + 0x6f], 0xd9
mov byte [esi + 0x70], 0x8e
mov byte [esi + 0x71], 0xdb
mov byte [esi + 0x72], 0x40
mov byte [esi + 0x73], 0xd5
mov byte [esi + 0x74], 0x59
mov byte [esi + 0x75], 0xd7
mov byte [esi + 0x76], 0x47
mov byte [esi + 0x77], 0xd1
mov byte [esi + 0x78], 0x46
mov byte [esi + 0x79], 0xd3
mov byte [esi + 0x7a], 0xd2
mov byte [esi + 0x7b], 0xcd
mov eax, 0x18
mov byte [esi + eax + 0x64], 0
add eax, 1
cmp eax, 0x1c
jne 0x423636
xor eax, eax
cmp eax, 0x1c
jae 0x423681
movzx edi, byte [esi + eax + 0x64]
mov edx, 0x4dcc0826
sub edx, eax
or edx, edi
xor edx, 0xffffffff
mov ecx, 0x26
sub ecx, eax
and ecx, edi
or ecx, edx
mov edx, ecx
xor edx, 0x3e
shl ecx, 1
and ecx, 0x82
sub ecx, edx
add cl, 1
mov byte [esi + eax + 0x64], cl
add eax, 1
jmp 0x423645
lea eax, [esi + 0x64]
sub esp, 0xc
mov ecx, dword [ebp + 8]
mov dword [esp], ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0041c6e0
add esp, 0xc
and al, 1
movzx ecx, al
and bl, 1
movzx edx, bl
mov eax, edx
xor eax, 0xffffffff
mov edi, ecx
xor edi, 0xffffffff
and eax, edi
xor edx, 0xffffffff
xor ecx, 0xffffffff
and edx, ecx
or eax, edx
xor eax, 0xffffffff
cmp eax, 0
setne byte [esi + 1]
mov al, byte [esi + 0x5c]
mov byte [esi + 0xb8], al
mov byte [esi + 0x20], 0xc
mov byte [esi + 0x21], 0x9f
mov byte [esi + 0x22], 2
mov byte [esi + 0x23], 0x91
mov byte [esi + 0x24], 0x33
mov byte [esi + 0x25], 0x93
mov byte [esi + 0x26], 0x37
mov byte [esi + 0x27], 0x95
mov byte [esi + 0x28], 0x33
mov byte [esi + 0x29], 0x97
mov byte [esi + 0x2a], 3
mov byte [esi + 0x2b], 0x89
mov byte [esi + 0x2c], 0xd6
mov byte [esi + 0x2d], 0x8b
mov byte [esi + 0x2e], 0x1f
mov byte [esi + 0x2f], 0x8d
mov byte [esi + 0x30], 0x1f
mov byte [esi + 0x31], 0x8f
mov byte [esi + 0x32], 0x12
mov byte [esi + 0x33], 0x81
mov byte [esi + 0x34], 0x1b
mov byte [esi + 0x35], 0x83
mov byte [esi + 0x36], 0x16
mov byte [esi + 0x37], 0x85
mov byte [esi + 0x38], 0x23
mov byte [esi + 0x39], 0x87
mov byte [esi + 0x3a], 0x86
mov byte [esi + 0x3b], 0xf9
xor eax, eax
cmp eax, 0x1c
jae 0x42379d
movzx ecx, byte [esi + eax + 0x20]
mov edi, eax
shl edi, 1
and edi, 0x47bd84a
mov edx, eax
xor edx, 0x823dec25
add edx, edi
xor edx, ecx
mov ebx, edx
add ebx, 6
mov ecx, edx
and ecx, 1
mov edi, 0x8b359cb9
sub edi, edx
mov edx, edi
and edx, 0xdb
and ebx, 0x24
or edx, ebx
and edi, 1
xor edi, 1
or edx, edi
xor edx, 0xda
add ecx, edx
mov byte [esi + eax + 0x20], cl
add eax, 1
jmp 0x423746
sub esp, 0xc
lea eax, [esi + 0x20]
mov dword [esp + 8], eax
mov ebx, dword [ebp + 0xc]
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.0041c6e0
add esp, 0xc
mov cl, byte [esi + 1]
or cl, al
and cl, 1
mov byte [esi + 1], cl
xor eax, eax
cmp dword [ebp + 0x10], 0
sete al
mov dword [esi + 0x288], eax
mov eax, dword [esi + 0x28c]
mov ecx, dword [esi + 0x288]
mov ecx, dword [eax + ecx*4]
push eax
mov eax, esp
mov dword [eax], 0x44ccb0
push eax
mov edx, esp
mov dword [edx], 0x2c
push eax
mov edi, esp
mov dword [esi + 0x18c], edi
mov dword [edi], 0x44cdf8
push eax
mov dword [esi + 0x188], esp
push eax
mov edi, esp
mov dword [esi + 0x19c], edi
mov dword [edi], 0x44ce00
push eax
mov dword [esi + 0x194], esp
push eax
mov edi, esp
mov dword [esi + 0x198], edi
mov dword [edi], 0x44ce08
push eax
mov dword [esi + 0x190], esp
push eax
mov edi, esp
mov dword [esi + 0x1bc], edi
mov dword [edi], 0x44ce10
push eax
mov dword [esi + 0x1b4], esp
push eax
mov edi, esp
mov dword [esi + 0x1b8], edi
mov dword [edi], 0x44ce18
push eax
mov dword [esi + 0x1ac], esp
push eax
mov edi, esp
mov dword [esi + 0x1cc], edi
mov dword [edi], 0x44ce20
push eax
mov dword [esi + 0x1c4], esp
push eax
mov edi, esp
mov dword [esi + 0x1c8], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x1c0], edi
mov dword [edi], 0x16
push eax
mov edi, esp
mov dword [esi + 0x254], edi
mov dword [edi], 0x44ce28
push eax
mov dword [esi + 0x250], esp
push eax
mov edi, esp
mov dword [esi + 0x24c], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x248], edi
mov dword [edi], 0x20
push eax
mov edi, esp
mov dword [esi + 0x244], edi
mov dword [edi], 0x44ce30
push eax
mov dword [esi + 0x240], esp
push eax
mov edi, esp
mov dword [esi + 0x23c], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x238], edi
mov dword [edi], 0x1f
push eax
mov edi, esp
mov dword [esi + 0x234], edi
mov dword [edi], 0x44ce38
push eax
mov dword [esi + 0x230], esp
push eax
mov edi, esp
mov dword [esi + 0x22c], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x228], edi
mov dword [edi], 0x1c
push eax
mov edi, esp
mov dword [esi + 0x224], edi
mov dword [edi], 0x44ce40
push eax
mov dword [esi + 0x220], esp
push eax
mov edi, esp
mov dword [esi + 0x21c], edi
mov dword [edi], 0x44ce48
push eax
mov dword [esi + 0x218], esp
push eax
mov edi, esp
mov dword [esi + 0x214], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x20c], edi
mov dword [edi], 0x1f
push eax
mov edi, esp
mov dword [esi + 0x204], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x1f8], edi
mov dword [edi], 0x16
push eax
mov edi, esp
mov dword [esi + 0x1fc], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x1e8], edi
mov dword [edi], 0x21
push eax
mov edi, esp
mov dword [esi + 0x1f4], edi
mov dword [edi], 0x44ce50
push eax
mov dword [esi + 0x1dc], esp
push eax
mov edi, esp
mov dword [esi + 0x1e4], edi
mov dword [edi], 0x44ce58
push eax
mov dword [esi + 0x1d8], esp
push eax
mov edi, esp
mov dword [esi + 0x210], edi
mov dword [edi], 0x44ce60
push eax
mov dword [esi + 0x208], esp
push eax
mov edi, esp
mov dword [esi + 0x200], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x1f0], edi
mov dword [edi], 0x25
push eax
mov edi, esp
mov dword [esi + 0x1ec], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x1d4], edi
mov dword [edi], 0x26
push eax
mov edi, esp
mov dword [esi + 0x1e0], edi
mov dword [edi], 0x44ce68
push eax
mov dword [esi + 0x1d0], esp
push eax
mov edi, esp
mov dword [esi + 0x284], edi
mov dword [edi], 0x44ce70
push eax
mov dword [esi + 0x280], esp
push eax
mov edi, esp
mov dword [esi + 0x27c], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x26c], edi
mov dword [edi], 0x29
push eax
mov edi, esp
mov dword [esi + 0x274], edi
mov dword [edi], 0x44ce78
push eax
mov dword [esi + 0x264], esp
push eax
mov edi, esp
mov dword [esi + 0x270], edi
mov dword [edi], 0x44ccb0
push eax
mov edi, esp
mov dword [esi + 0x260], edi
mov dword [edi], 0x2b
push eax
mov edi, esp
mov dword [edi], 0x44ccb0
push eax
mov ebx, esp
mov dword [esi + 0x268], ebx
mov dword [ebx], 0x2c
push eax
mov ebx, esp
mov dword [esi + 0x184], ebx
mov dword [ebx], 0x44ccb0
push eax
mov ebx, esp
mov dword [esi + 0x180], ebx
mov dword [ebx], 0x12
push eax
mov ebx, esp
mov dword [esi + 0x1a4], ebx
mov dword [ebx], 0x44ccb0
push eax
mov ebx, esp
mov dword [esi + 0x1a0], ebx
mov dword [ebx], 0x1d
push eax
mov ebx, esp
mov dword [esi + 0x1b0], ebx
mov dword [ebx], 0x44ccb0
push eax
mov ebx, esp
mov dword [esi + 0x1a8], ebx
mov dword [ebx], 0x23
push eax
mov ebx, esp
mov dword [esi + 0x25c], ebx
mov dword [ebx], 0x44ccb0
push eax
mov ebx, esp
mov dword [esi + 0x258], ebx
mov dword [ebx], 0x27
jmp ecx