Function at 0x7323b0
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100219e0
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x30
push ebx
push esi
push edi
mov ebx, ecx
xor edi, edi
mov dword [ebp - 0x10], esp
mov dword [ebx + 0xa0], edi
mov eax, dword [ebx + 8]
cmp eax, edi
mov dword [ebp - 0x1c], ebx
mov dword [ebp - 4], edi
je 0x7323ed
call fcn.00732cf0
cmp dword [ebp + 0xc], edi
jne 0x7323f7
mov dword [ebx + 0x20], edi
jmp 0x7323fe
mov dword [ebx + 0x20], 1
lea ecx, [ebx + 0x24]
call fcn.00731870
push 0x10000
call fcn.007322b0
add esp, 4
cmp eax, edi
mov dword [ebx + 0x7c], eax
jne 0x73242f
push 0x1002df48
push edi
push 0x53
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov esi, dword [ebp + 8]
push edi
push 0x80
push 3
push edi
push 1
push closesocket
push esi
call dword [0x10022050]
cmp eax, 0xffffffff
mov dword [ebx + 8], eax
jne 0x732467
push esi
push 0x1002eb44
push edi
push 0x56
push 0x1002eb68
call fcn.007319c0
add esp, 0x14
lea eax, [ebx + 0x10]
push eax
mov eax, dword [ebx + 8]
push eax
call dword [0x10022140]
test eax, eax
jne 0x73248e
push 0x1002eb20
push edi
push 0x57
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov dword [ebx + 0x98], edi
mov dword [ebx + 0x9c], edi
mov dword [ebx + 0x90], edi
mov dword [ebx + 0x94], edi
mov dword [ebx + 0x88], edi
lea esi, [ebx + 0xa4]
mov dword [ebx + 0x8c], edi
lea ecx, [ebp - 0x14]
mov dword [ebx + 0x80], edi
push edi
mov word [esi], di
mov edx, dword [ebx + 8]
push ecx
push 2
push esi
push edx
call dword [0x10022048]
test eax, eax
jne 0x7324f0
mov eax, dword [ebp + 8]
push eax
push 0x1002eb00
push edi
push 0x63
push 0x1002eb68
call fcn.007319c0
add esp, 0x14
cmp word [esi], 0x5a4d
je 0x73250d
push 0x1002eaf0
push 1
push 0x64
push 0x1002eb68
call fcn.00732100
add esp, 0x10
mov edx, dword [ebx + 0x20]
xor ecx, ecx
push edx
xor eax, eax
push 0x40
push ecx
push eax
push esi
mov ecx, ebx
call fcn.00734590
cmp eax, edi
jne 0x73252a
call fcn.00732230
mov eax, dword [ebx + 0xe0]
mov edx, dword [ebx + 0x14]
xor ecx, ecx
add eax, 4
cmp ecx, edx
jl 0x732563
jg 0x732543
cmp eax, dword [ebx + 0x10]
jbe 0x732563
push 0x1002ead8
push 1
push 0x6e
push 0x1002eb68
mov dword [ebx + 0xa0], 2
call fcn.00732100
add esp, 0x10
mov eax, dword [ebx + 0xe0]
lea ecx, [ebp - 0x18]
cdq
mov edi, eax
mov eax, dword [ebx + 0x20]
mov esi, edx
push eax
push 4
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00734590
test eax, eax
jne 0x73258a
call fcn.00732230
mov ecx, dword [ebp - 0x18]
mov eax, ecx
and eax, 0xffff
sub eax, 0x454c
je 0x7325e8
sub eax, 2
je 0x7325d3
sub eax, 2
je 0x7325bd
push 0x1002ead8
push 1
mov dword [ebx + 0xa0], 2
push 0x86
jmp 0x7325fb
cmp ecx, 0x4550
je 0x732608
push 0x1002eac8
push 1
push 0x82
jmp 0x7325fb
push 0x1002eab0
push 1
mov dword [ebx + 0xa0], 3
push 0x7a
jmp 0x7325fb
push 0x1002ea98
push 1
mov dword [ebx + 0xa0], 4
push 0x7e
push 0x1002eb68
call fcn.00732100
add esp, 0x10
mov dword [ebx + 0xa0], 6
mov edx, dword [ebx + 0x20]
add edi, 4
push edx
adc esi, 0
push 0x14
lea eax, [ebx + 0xe4]
push esi
push edi
push eax
mov ecx, ebx
call fcn.00734590
test eax, eax
jne 0x732637
call fcn.00732230
mov ax, word [ebx + 0xe4]
add edi, 0x14
adc esi, 0
cmp ax, 0x14c
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x2c], esi
je 0x73267f
cmp ax, 0x200
je 0x73267f
cmp ax, 0x8664
je 0x73267f
push 0x1002ea74
push 1
push 0x94
push 0x1002eb68
mov dword [ebx + 0xa0], 5
call fcn.00732100
add esp, 0x10
mov ecx, dword [ebx + 0x20]
lea eax, [ebx + 0xf8]
push ecx
push 2
push esi
push edi
push eax
mov ecx, ebx
call fcn.00734590
test eax, eax
jne 0x73269e
call fcn.00732230
mov ax, word [ebx + 0xf8]
cmp ax, 0x10b
jne 0x732902
xor eax, eax
mov ax, word [ebx + 0xf4]
cmp eax, 0xe0
mov dword [ebp - 0x14], eax
jbe 0x7326ca
mov eax, 0xe0
mov dword [ebp - 0x14], eax
mov edx, dword [ebx + 0x20]
lea ecx, [ebx + 0x2a4]
push edx
push eax
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00734590
test eax, eax
jne 0x7326e8
call fcn.00732230
lea eax, [ebx + 0x2a4]
mov dword [ebx + 0x210], eax
add eax, 0x60
mov dword [ebx + 0x218], eax
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x5c]
mov dword [ebx + 0xfc], ecx
mov edx, dword [ebx + 0x210]
mov eax, dword [edx + 0x10]
mov dword [ebx + 0x100], eax
mov ecx, dword [ebx + 0x210]
mov edx, dword [ecx + 0x20]
mov dword [ebx + 0x104], edx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x38]
mov dword [ebx + 0x10c], ecx
mov edx, dword [ebx + 0x210]
mov eax, dword [edx + 0x24]
mov dword [ebx + 0x108], eax
mov ecx, dword [ebx + 0x210]
mov edx, dword [ecx + 4]
mov dword [ebx + 0x110], edx
mov eax, dword [ebx + 0x210]
xor edx, edx
mov ecx, dword [eax + 0x1c]
mov dword [ebx + 0x118], ecx
mov dword [ebx + 0x11c], edx
mov eax, dword [ebx + 0x210]
mov cx, word [eax]
mov word [ebx + 0x120], cx
mov eax, dword [ebx + 0x210]
mov cl, byte [eax + 2]
mov byte [ebx + 0x122], cl
mov eax, dword [ebx + 0x210]
mov cl, byte [eax + 3]
mov byte [ebx + 0x123], cl
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 4]
mov dword [ebx + 0x124], ecx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 8]
mov dword [ebx + 0x128], ecx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0xc]
mov dword [ebx + 0x12c], ecx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x130], ecx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x14]
mov dword [ebx + 0x134], ecx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x1c]
mov dword [ebx + 0x138], ecx
mov dword [ebx + 0x13c], edx
mov eax, dword [ebx + 0x210]
mov ecx, dword [eax + 0x20]
mov dword [ebx + 0x140], ecx
mov ecx, dword [eax + 0x24]
mov dword [ebx + 0x144], ecx
mov cx, word [eax + 0x28]
mov word [ebx + 0x148], cx
mov cx, word [eax + 0x2a]
mov word [ebx + 0x14a], cx
mov cx, word [eax + 0x2c]
mov word [ebx + 0x14c], cx
mov cx, word [eax + 0x2e]
mov word [ebx + 0x14e], cx
mov cx, word [eax + 0x30]
mov word [ebx + 0x150], cx
mov cx, word [eax + 0x32]
mov word [ebx + 0x152], cx
mov ecx, dword [eax + 0x34]
mov dword [ebx + 0x154], ecx
mov ecx, dword [eax + 0x38]
mov dword [ebx + 0x158], ecx
mov ecx, dword [eax + 0x3c]
mov dword [ebx + 0x15c], ecx
mov ecx, dword [eax + 0x40]
mov dword [ebx + 0x160], ecx
mov cx, word [eax + 0x44]
mov word [ebx + 0x164], cx
mov cx, word [eax + 0x46]
mov word [ebx + 0x166], cx
mov ecx, dword [eax + 0x48]
mov dword [ebx + 0x168], ecx
mov dword [ebx + 0x16c], edx
mov ecx, dword [eax + 0x4c]
lea esi, [eax + 0x60]
mov dword [ebx + 0x170], ecx
mov dword [ebx + 0x174], edx
mov ecx, dword [eax + 0x50]
lea edi, [ebx + 0x190]
mov dword [ebx + 0x178], ecx
mov dword [ebx + 0x17c], edx
mov ecx, dword [eax + 0x54]
mov dword [ebp - 0x24], edx
mov dword [ebx + 0x180], ecx
mov dword [ebx + 0x184], edx
mov ecx, dword [eax + 0x58]
mov dword [ebx + 0x188], ecx
mov ecx, dword [eax + 0x5c]
mov dword [ebx + 0x18c], ecx
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov eax, dword [eax + 0x24]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x28], eax
jmp 0x7329df
cmp ax, 0x20b
jne 0x7329c6
xor eax, eax
mov ax, word [ebx + 0xf4]
cmp eax, 0xf0
mov dword [ebp - 0x14], eax
jbe 0x732927
mov eax, 0xf0
mov dword [ebp - 0x14], eax
mov edx, dword [ebx + 0x20]
lea ecx, [ebx + 0x2a4]
push edx
push eax
push esi
push edi
push ecx
mov ecx, ebx
call fcn.00734590
test eax, eax
jne 0x732945
call fcn.00732230
lea eax, [ebx + 0x2a4]
lea edi, [ebx + 0x120]
mov dword [ebx + 0x214], eax
mov esi, eax
lea ecx, [eax + 0x70]
mov dword [ebp - 0x24], 0
mov dword [ebx + 0x218], ecx
mov edx, dword [eax + 0x6c]
mov dword [ebx + 0xfc], edx
mov ecx, dword [eax + 0x10]
mov dword [ebx + 0x100], ecx
mov edx, dword [eax + 0x20]
mov dword [ebx + 0x104], edx
mov ecx, dword [eax + 0x38]
mov dword [ebx + 0x10c], ecx
mov edx, dword [eax + 0x24]
mov dword [ebx + 0x108], edx
mov ecx, dword [eax + 4]
mov dword [ebx + 0x110], ecx
mov edx, dword [eax + 0x18]
mov dword [ebx + 0x118], edx
mov ecx, dword [eax + 0x1c]
mov dword [ebx + 0x11c], ecx
mov ecx, 0x3c
rep movsd dword es:[edi], dword [esi]
mov edx, dword [eax + 0x24]
mov esi, dword [ebp - 0x2c]
mov edi, dword [ebp - 0x30]
mov dword [ebp - 0x28], edx
jmp 0x7329df
push 0x1002ea58
push 1
push 0xde
push 0x1002eb68
call fcn.00732100
add esp, 0x10
mov ecx, dword [ebx + 0xfc]
mov eax, 0x10
cmp ecx, eax
jbe 0x7329f4
mov dword [ebx + 0xfc], eax
xor eax, eax
mov ecx, ebx
mov ax, word [ebx + 0xf4]
cdq
add edi, eax
adc esi, edx
call fcn.00735000
test eax, eax
jne 0x732a12
call fcn.00732230
xor eax, eax
mov ax, word [ebx + 0xe6]
mov dword [ebx + 0x394], eax
lea eax, [eax + eax*4]
shl eax, 3
push eax
call fcn.007322b0
add esp, 4
mov dword [ebx + 0x398], eax
test eax, eax
jne 0x732a52
push 0x1002df48
push eax
push 0xe7
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov eax, dword [ebx + 0x394]
mov ecx, dword [ebx + 0x20]
push ecx
mov ecx, ebx
lea edx, [eax + eax*4]
mov eax, dword [ebx + 0x398]
shl edx, 3
push edx
push esi
push edi
push eax
call fcn.00734590
test eax, eax
jne 0x732a7c
call fcn.00732230
mov eax, dword [ebx + 0x394]
lea ecx, [eax + eax*4]
shl ecx, 3
add edi, ecx
mov ecx, ebx
adc esi, 0
call fcn.00734c70
test eax, eax
jne 0x732a9d
call fcn.00732230
mov ecx, dword [ebp - 0x28]
mov eax, dword [ebp - 0x24]
mov edx, ecx
push eax
add edx, edi
mov edi, eax
adc edi, esi
sub edx, 1
sbb edi, 0
push ecx
push edi
push edx
call fcn.00737980
mov ecx, dword [ebp - 0x24]
push ecx
mov ecx, dword [ebp - 0x28]
push ecx
push edx
push eax
call fcn.00737940
mov dword [ebx + 0x18], eax
mov dword [ebx + 0x1c], edx
mov edx, dword [ebx + 0x394]
shl edx, 2
push edx
call fcn.007322b0
add esp, 4
mov dword [ebx + 0x39c], eax
test eax, eax
jne 0x732b03
push 0x1002df48
push eax
push 0xef
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov ecx, dword [ebx + 0x394]
mov edi, dword [ebx + 0x39c]
shl ecx, 2
mov edx, ecx
xor eax, eax
shr ecx, 2
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
xor edi, edi
mov eax, dword [ebx + 0x394]
mov dword [ebp + 8], edi
cmp edi, eax
jae 0x732bf2
mov ecx, dword [ebx + 0x398]
lea eax, [edi + edi*4]
push 8
lea edx, [ecx + eax*8]
lea eax, [ebp - 0x3c]
push edx
push eax
call dword [0x1002218c]
lea ecx, [ebp - 0x3c]
add esp, 0xc
test ecx, ecx
mov byte [ebp - 0x34], 0
jne 0x732b60
xor esi, esi
jmp 0x732b96
lea edx, [ebp - 0x3c]
push edx
call dword [0x10022068]
mov edi, eax
inc edi
lea eax, [edi + edi]
add eax, 3
and al, 0xfc
call fcn.00737610
mov esi, esp
push edi
push esi
lea eax, [ebp - 0x3c]
push 0xffffffffffffffff
push eax
push 0
push 0
mov word [esi], 0
call dword [0x1002209c]
mov edi, dword [ebp + 8]
push esi
call dword [0x100221a4]
lea ecx, [eax + eax + 2]
push ecx
call fcn.007322b0
mov edx, dword [ebx + 0x39c]
add esp, 8
mov dword [edx + edi*4], eax
mov eax, dword [ebx + 0x39c]
cmp dword [eax + edi*4], 0
jne 0x732bd8
push 0x1002df48
push 0
push 0xf9
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov ecx, dword [ebx + 0x39c]
push esi
mov edx, dword [ecx + edi*4]
push edx
call dword [0x100221f8]
add esp, 8
inc edi
jmp 0x732b24
mov eax, dword [ebx + 0x394]
shl eax, 2
push eax
call fcn.007322b0
xor esi, esi
add esp, 4
cmp eax, esi
mov dword [ebx + 0x3a0], eax
jne 0x732c28
push 0x1002df48
push esi
push 0xff
push 0x1002eb68
call fcn.007319c0
add esp, 0x10
mov ecx, ebx
call fcn.00734b60
mov ecx, dword [ebx + 0x394]
mov edx, dword [ebx + 0x3a0]
mov eax, dword [edx + ecx*4 - 4]
mov ecx, dword [ebx + 0x398]
lea eax, [eax + eax*4]
mov edx, dword [ecx + eax*8 + 0x14]
lea eax, [ecx + eax*8]
mov ecx, dword [eax + 0x10]
xor eax, eax
add edx, ecx
mov ecx, dword [ebx + 0x10]
sub ecx, edx
mov edx, dword [ebx + 0x14]
sbb edx, eax
mov dword [ebx + 0x3a8], ecx
mov eax, edx
mov dword [ebx + 0x3ac], edx
cmp eax, esi
jg 0x732c88
jl 0x732c7c
cmp dword [ebx + 0x3a8], esi
jae 0x732c88
mov dword [ebx + 0x3a8], esi
mov dword [ebx + 0x3ac], esi
mov esi, 1
mov dword [ebx + 0xa0], esi
jmp 0x732caf
test esi, esi
mov dword [ebp - 4], 0xffffffff
jne 0x732cc1
mov ecx, ebx
call fcn.00732cf0
mov ecx, dword [ebp - 0xc]
lea esp, [ebp - 0x48]
mov eax, esi
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8