Function at 0x433e39
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xb4
xor eax, eax
push ebx
push esi
push edi
mov dword [esp + 0x24], eax
lea edi, [esp + 0x48]
mov dword [esp + 0x14], eax
mov ebx, ecx
mov dword [esp + 0x10], eax
mov esi, edx
stosd dword es:[edi], eax
mov dword [esp + 0x40], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
test ebx, ebx
je 0x434737
test esi, esi
je 0x434737
cmp dword [ebp + 8], 0
je 0x434737
mov eax, dword [ebx]
mov dword [esp + 0x3c], eax
cmp eax, 0xfeedf001
jne 0x433e98
mov eax, ebx
mov dword [esp + 0x44], ebx
jmp 0x433eb0
cmp eax, 0xfeedf002
jne 0x434737
mov dword [esp + 0x24], ebx
call fcn.0042fd0f
mov dword [esp + 0x44], eax
mov ecx, eax
call fcn.004302bc
mov dword [esp + 0x18], eax
test eax, eax
je 0x434733
push 0x10
call fcn.00415500
mov edi, eax
pop ecx
test edi, edi
je 0x433edd
xor eax, eax
mov dword [edi], eax
mov dword [edi + 8], eax
mov dword [edi + 0xc], eax
jmp 0x433edf
xor edi, edi
test edi, edi
je 0x433f16
push ecx
push dword [ebp + 8]
mov ecx, edi
push esi
call fcn.0045938f
mov esi, eax
test esi, esi
js 0x433eff
xor ecx, ecx
mov dword [esp + 0x14], edi
mov esi, ecx
jmp 0x433f25
mov ecx, edi
call fcn.0045a12d
mov ecx, edi
call fcn.0045945d
push edi
call fcn.00415510
pop ecx
jmp 0x433f1b
mov esi, 0x8007000e
test esi, esi
js 0x434438
xor ecx, ecx
cmp dword [esp + 0x3c], 0xfeedf001
jne 0x433f40
mov eax, dword [esp + 0x14]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ecx
jmp 0x4343da
xor eax, eax
mov dword [esp + 0x70], ecx
lea edi, [esp + 0x28]
mov edx, ecx
stosd dword es:[edi], eax
mov ecx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], edx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
xor eax, eax
lea edi, [esp + 0x5c]
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
call fcn.0042fd9a
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x74], eax
mov ebx, dword [ebx]
test ebx, ebx
je 0x433fc2
lea eax, [esp + 0x80]
mov ecx, ebx
push eax
call fcn.0045965b
mov esi, eax
test esi, esi
js 0x433fbb
push 0
lea eax, [esp + 0x74]
mov ecx, ebx
push eax
lea eax, [esp + 0x28]
push eax
sub esp, 0x10
lea esi, [esp + 0x9c]
mov edi, esp
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0045947d
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
mov edi, 0x80070057
jmp 0x433fc9
mov edi, 0x80070057
mov esi, edi
test esi, esi
js 0x4342bc
xor eax, eax
cmp dword [esp + 0x14], eax
jne 0x433fe0
mov esi, edi
jmp 0x4342be
mov esi, dword [esp + 0x14]
cmp dword [esi + 8], eax
je 0x433ff3
mov esi, 0x80070020
jmp 0x4342be
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx]
lea eax, [ebx + 4]
push eax
call fcn.0045e42d
test eax, eax
js 0x434013
xor eax, eax
mov dword [esi + 8], 1
mov esi, eax
jmp 0x43401e
mov ecx, eax
call fcn.00456de1
mov esi, eax
xor eax, eax
test esi, esi
js 0x4342be
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x43406c
lea eax, [esp + 0x90]
mov ecx, ebx
push eax
call fcn.0045965b
mov esi, eax
test esi, esi
js 0x434065
sub esp, 0x10
lea esi, [esp + 0xa0]
mov edi, esp
lea eax, [esp + 0x38]
lea edx, [esp + 0x24]
mov ecx, ebx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00456681
mov esi, eax
mov edi, 0x80070057
jmp 0x43406e
mov esi, edi
test esi, esi
js 0x4342bc
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4340a4
mov esi, dword [esp + 0x28]
test esi, esi
je 0x4340a4
sub esp, 0x10
mov ecx, ebx
mov edi, esp
push 0x40722c
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0045a2ec
mov esi, eax
mov edi, 0x80070057
jmp 0x4340a6
mov esi, edi
test esi, esi
js 0x4342bc
cmp dword [esp + 0x28], 0
je 0x434101
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x4340c2
dec dword [eax + 0xc]
xor ebx, ebx
cmp dword [esp + 0x2c], ebx
je 0x4340e6
push dword [esp + 0x2c]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
push dword [esp + 0x28]
call fcn.00415510
pop ecx
push 0x14
pop ecx
lea eax, [esp + 0x28]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x4340f7
jmp 0x434103
xor ebx, ebx
cmp dword [esp + 0x14], 0
jne 0x434111
mov esi, edi
jmp 0x4342bc
mov ecx, dword [esp + 0x14]
call fcn.0045a14d
mov esi, eax
test esi, esi
js 0x4342bc
mov edx, dword [esp + 0x1c]
test edx, edx
je 0x434158
xor eax, eax
cmp ax, word [edx]
je 0x434158
mov ecx, edx
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
cmp ax, bx
jne 0x434138
sub ecx, esi
sar ecx, 1
lea eax, [ecx + ecx]
push eax
lea ecx, [esp + 0x14]
call fcn.004564d5
mov esi, eax
jmp 0x43415a
mov esi, edi
test esi, esi
js 0x4342bc
cmp dword [esp + 0x10], 0
je 0x43410a
mov esi, dword [esp + 0x10]
cmp dword [esi + 8], ebx
je 0x43417c
mov esi, 0x80070020
jmp 0x4342bc
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx]
lea eax, [ebx + 4]
push eax
call fcn.0045e42d
test eax, eax
js 0x43419c
xor eax, eax
mov dword [esi + 8], 1
mov esi, eax
jmp 0x4341a7
mov ecx, eax
call fcn.00456de1
mov esi, eax
xor eax, eax
test esi, esi
js 0x4342be
mov eax, dword [esp + 0x74]
dec eax
push eax
lea eax, [esp + 0x60]
push eax
lea eax, [esp + 0x18]
push 0x406f28
push eax
call fcn.0045676c
mov esi, eax
add esp, 0x10
cmp esi, 1
jne 0x4341dc
push 0xd
call fcn.00411710
mov esi, eax
test esi, esi
js 0x4342bc
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x434229
lea eax, [esp + 0xa0]
mov ecx, ebx
push eax
call fcn.0045965b
mov esi, eax
test esi, esi
js 0x4342bc
sub esp, 0x10
lea esi, [esp + 0xb0]
mov edi, esp
lea eax, [esp + 0x38]
lea edx, [esp + 0x24]
mov ecx, ebx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00456681
mov esi, eax
jmp 0x43422b
mov esi, edi
test esi, esi
js 0x4342bc
lea eax, [esp + 0x28]
push eax
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x64]
lea ecx, [esp + 0x18]
call fcn.00456b27
mov esi, eax
test esi, esi
js 0x4342bc
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x4342a3
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
test eax, eax
je 0x434265
dec dword [eax + 0xc]
xor ebx, ebx
cmp dword [esp + 0x60], ebx
je 0x434289
push dword [esp + 0x60]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
mov eax, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
test edi, edi
je 0x434294
push edi
call fcn.00415510
pop ecx
push 0x14
pop ecx
lea eax, [esp + 0x5c]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x43429b
cmp dword [esp + 0x10], 0
jne 0x4342b1
mov esi, 0x80070057
jmp 0x4342bc
mov ecx, dword [esp + 0x10]
call fcn.0045a14d
mov esi, eax
xor eax, eax
mov ebx, dword [esp + 0x1c]
test ebx, ebx
je 0x4342e1
push ebx
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessHeap]
push eax
call dword [sym.imp.KERNEL32.dll_HeapFree]
neg eax
sbb eax, eax
not eax
and eax, ebx
mov dword [esp + 0x20], eax
mov edi, dword [esp + 0x5c]
test edi, edi
je 0x43432e
mov eax, dword [esp + 0x6c]
mov eax, dword [eax]
test eax, eax
je 0x4342f6
dec dword [eax + 0xc]
xor ebx, ebx
cmp dword [esp + 0x60], ebx
je 0x434312
push dword [esp + 0x60]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
test edi, edi
je 0x43431d
push edi
call fcn.00415510
pop ecx
push 0x14
pop ecx
lea eax, [esp + 0x5c]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x434324
jmp 0x434330
xor ebx, ebx
cmp dword [esp + 0x28], 0
je 0x434378
mov eax, dword [esp + 0x38]
mov eax, dword [eax]
test eax, eax
je 0x434344
dec dword [eax + 0xc]
cmp dword [esp + 0x2c], 0
je 0x43435f
push dword [esp + 0x2c]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x28]
call fcn.00415510
pop ecx
push 0x14
pop ecx
lea eax, [esp + 0x28]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x434370
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4343a8
mov ecx, ebx
call fcn.0045a12d
test ebx, ebx
je 0x4343a0
mov ecx, ebx
call fcn.0045a12d
mov ecx, ebx
call fcn.0045945d
push ebx
call fcn.00415510
pop ecx
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x4343aa
xor edi, edi
test esi, esi
jns 0x4343de
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x4343da
mov ecx, ebx
call fcn.0045a12d
test ebx, ebx
je 0x4343d6
mov ecx, ebx
call fcn.0045a12d
mov ecx, ebx
call fcn.0045945d
push ebx
call fcn.00415510
pop ecx
mov dword [esp + 0x10], edi
test esi, esi
js 0x434438
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x43441f
lea eax, [esp + 0xb0]
mov ecx, ebx
push eax
call fcn.0045965b
mov esi, eax
test esi, esi
js 0x434438
sub esp, 0x10
lea esi, [esp + 0xc0]
mov edi, esp
lea eax, [esp + 0x58]
lea edx, [esp + 0x20]
mov ecx, ebx
push eax
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.00456681
mov esi, eax
jmp 0x434424
mov esi, 0x80070057
test esi, esi
js 0x434438
cmp dword [esp + 0x10], 0
jne 0x4344b9
mov esi, 0x80070057
xor ebx, ebx
cmp dword [esp + 0x48], 0
je 0x434482
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
test eax, eax
je 0x43444e
dec dword [eax + 0xc]
cmp dword [esp + 0x4c], 0
je 0x434469
push dword [esp + 0x4c]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x48]
call fcn.00415510
pop ecx
push 0x14
lea eax, [esp + 0x4c]
pop ecx
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x43447a
mov ebx, dword [esp + 0x14]
test ebx, ebx
je 0x4346f5
mov ecx, ebx
call fcn.0045a12d
test ebx, ebx
je 0x4344ae
mov ecx, ebx
call fcn.0045a12d
mov ecx, ebx
call fcn.0045945d
push ebx
call fcn.00415510
pop ecx
xor edi, edi
mov dword [esp + 0x14], edi
jmp 0x4346f7
mov esi, dword [esp + 0x10]
xor edi, edi
cmp dword [esi + 8], edi
je 0x4344ce
mov esi, 0x80070020
jmp 0x43469c
mov ebx, dword [esp + 0x10]
mov edx, dword [ebx]
lea eax, [ebx + 4]
push eax
call fcn.0045e42d
test eax, eax
js 0x4344ec
mov dword [esi + 8], 1
mov esi, edi
jmp 0x4344f5
mov ecx, eax
call fcn.00456de1
mov esi, eax
test esi, esi
js 0x434438
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x434526
mov esi, dword [esp + 0x48]
test esi, esi
je 0x434526
sub esp, 0x10
mov ecx, ebx
mov edi, esp
push 0x407238
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
call fcn.0045a2ec
mov esi, eax
jmp 0x43452b
mov esi, 0x80070057
test esi, esi
js 0x434438
cmp dword [esp + 0x48], 0
je 0x43457c
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
test eax, eax
je 0x434547
dec dword [eax + 0xc]
xor ebx, ebx
cmp dword [esp + 0x4c], ebx
je 0x434563
push dword [esp + 0x4c]
mov eax, dword fs:[0x30]
push ebx
push dword [eax + 0x18]
call dword [sym.imp.ntdll.dll_RtlFreeHeap]
push dword [esp + 0x48]
call fcn.00415510
pop ecx
push 0x14
pop ecx
lea eax, [esp + 0x48]
mov byte [eax], bl
inc eax
sub ecx, 1
jne 0x434574
cmp dword [esp + 0x10], 0
je 0x434433
mov ecx, dword [esp + 0x10]
call fcn.0045a14d
mov esi, eax
test esi, esi
js 0x434438
mov eax, dword [esp + 0x3c]
cmp eax, 0xfeedf002
jne 0x43460d
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x78]
call fcn.00430d44
neg eax
lea ecx, [esp + 0x78]
sbb eax, eax
and eax, ecx
mov ecx, dword [esp + 0x40]
push eax
lea eax, [esp + 0x14]
push eax
call fcn.0042fd9a
mov ebx, dword [esp + 0x20]
mov edx, eax
mov ecx, ebx
call fcn.0043319c
test eax, eax
jne 0x4346a0
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x434603
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x4346a0
mov esi, 0x80004005
jmp 0x4346a0
cmp eax, 0xfeedf001
jne 0x43469c
mov ecx, dword [esp + 0x40]
call fcn.00428c4f
mov ebx, eax
test ebx, ebx
jne 0x43464c
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x434647
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x43464c
mov esi, 0x80004005
xor edi, edi
inc edi
test esi, esi
js 0x434438
cmp edi, ebx
ja 0x43469c
mov ecx, dword [esp + 0x18]
xor eax, eax
push eax
lea eax, [esp + 0x14]
mov edx, edi
push eax
call fcn.0043319c
test eax, eax
jne 0x434697
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x434692
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x434697
mov esi, 0x80004005
inc edi
test esi, esi
jns 0x434657
mov ebx, dword [esp + 0x18]
test esi, esi
js 0x434438
mov ecx, ebx
call fcn.00456550
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x44]
mov ecx, edi
mov dword [ebx], eax
call fcn.004300a6
test al, 1
jne 0x4346ea
push 4
pop edx
mov ecx, edi
call fcn.00430146
mov eax, dword [esp + 0x24]
test eax, eax
je 0x4346e0
xor edx, edx
mov ecx, eax
inc edx
call fcn.00430146
push 0x10
pop edx
mov ecx, edi
call fcn.004301aa
xor ebx, ebx
mov dword [esp + 0x10], ebx
jmp 0x43443a
xor edi, edi
mov ebx, dword [esp + 0x10]
test ebx, ebx
je 0x434723
mov ecx, ebx
call fcn.0045a12d
test ebx, ebx
je 0x43471f
mov ecx, ebx
call fcn.0045a12d
mov ecx, ebx
call fcn.0045945d
push ebx
call fcn.00415510
pop ecx
mov dword [esp + 0x10], edi
mov ecx, esi
call fcn.00432b43
not esi
shr esi, 0x1f
mov eax, esi
jmp 0x434741
push 6
jmp 0x434739
push 0x57
call dword [sym.imp.KERNEL32.dll_SetLastError]
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4