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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x2dc
mov edi, dword [esp + 0x2f4]
cmp byte [esp + 0x2f0], 0
mov ebx, edx
mov esi, ecx
je 0x433ca5
lea eax, [edi + 0x48]
lea ecx, [esp + 0x1dd]
push 0xff
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [edi + 0x147]
mov edi, dword [edi + 8]
test bl, bl
mov dword [esp + 0x50], esi
je 0x433dc9
mov ebp, ebx
jmp 0x433de0
movaps xmm0, xmmword [0x539290]
movaps xmm1, xmmword [0x5392a0]
movaps xmm2, xmmword [str._________._0123456789:_____ABCDEFGHIJKLMNOPQRSTUVWXYZ____abcdefghijklmnopqrstuvwxyz]
lea eax, [esp + 0x80]
lea ecx, [esp + 0x1dd]
movups xmmword [esp + 0x80], xmm0
movups xmmword [esp + 0x90], xmm1
movaps xmm1, xmmword [0x5392c0]
movups xmmword [esp + 0xa0], xmm2
movaps xmm2, xmmword [0x5392d0]
movups xmmword [esp + 0xb0], xmm1
movaps xmm1, xmmword [0x5392e0]
movups xmmword [esp + 0xc0], xmm2
movaps xmm2, xmmword [0x5392f0]
movups xmmword [esp + 0xd0], xmm1
movaps xmm1, xmmword [0x539300]
movups xmmword [esp + 0xe0], xmm2
movaps xmm2, xmmword [0x539310]
movups xmmword [esp + 0xf0], xmm1
movaps xmm1, xmmword [0x539320]
movups xmmword [esp + 0x100], xmm2
movaps xmm2, xmmword [0x539330]
movups xmmword [esp + 0x110], xmm1
movaps xmm1, xmmword [0x539340]
movups xmmword [esp + 0x120], xmm2
movaps xmm2, xmmword [0x539350]
movups xmmword [esp + 0x130], xmm1
movaps xmm1, xmmword [0x539360]
movups xmmword [esp + 0x140], xmm2
movaps xmm2, xmmword [0x539370]
movups xmmword [esp + 0x150], xmm1
movaps xmm1, xmmword [0x539380]
movups xmmword [esp + 0x160], xmm2
movups xmmword [esp + 0x170], xmm1
push 0xff
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
movzx eax, byte [esp + 0x17f]
mov edi, dword [edi + 8]
test bl, bl
mov dword [esp + 0x50], esi
jne 0x433c9e
test edi, edi
js 0x434e1b
cmp edi, 1
jbe 0x434e2f
mov ebp, ebx
lea edi, [edi + edi - 4]
movzx esi, al
mov ebx, eax
mov eax, 0xffffffff
mov dword [esp + 0x14], edi
bsr ecx, esi
mov byte [esp + 4], bl
not ecx
shr eax, cl
lea ecx, [eax + 1]
not eax
tzcnt edx, ecx
and eax, ecx
xor ecx, ecx
test bl, bl
mov ebx, 1
cmovne ecx, edx
cmovne ebx, eax
mov dword [esp + 0x24], ecx
shl edi, cl
mov eax, edi
sub eax, ebx
jb 0x434da3
cmp eax, 0x7ffffffe
jbe 0x433e5b
mov ecx, dword [esp + 0x50]
mov dword [ecx + 8], 0
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x14], 0
mov dword [ecx + 0x10], 0x7ffffffe
mov dword [ecx + 0x18], eax
mov dword [ecx + 0x1c], 0
mov dword [ecx], 1
jmp 0x434429
mov eax, dword [esp + 0x2f4]
mov ecx, ebp
mov dword [esp + 0x18], ebp
test cl, cl
mov ebx, dword [eax + 0x154]
je 0x433e9c
test ebx, ebx
je 0x434e43
dec ebx
mov edx, 4
test edi, edi
mov dword [esp], 4
jne 0x433ec1
test ebx, ebx
mov dword [esp + 8], esi
jne 0x433f48
jmp 0x433fde
test ebx, ebx
je 0x434e59
mov eax, ebx
dec eax
js 0x434e6d
lea ebx, [ebx + ebx - 2]
mov edx, 4
test edi, edi
mov dword [esp], 4
je 0x433e8b
cmp edi, 0x1fffffff
ja 0x434d9e
lea ebp, [edi*4]
test ebp, ebp
js 0x434d9e
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x433eff
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x434e0f
mov dword [0x5a1188], eax
push ebp
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x434e0f
cmp edi, 2
mov ecx, eax
mov dword [esp], eax
jb 0x433f31
lea ecx, [ebp - 4]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov eax, dword [esp]
lea ecx, [eax + ebp - 4]
mov edx, 4
mov dword [ecx], 0
test ebx, ebx
mov dword [esp + 8], esi
je 0x433fde
cmp ebx, 0xaaaaaaa
ja 0x434d9e
lea eax, [ebx*4]
mov ebp, ebx
lea ebx, [eax + eax*2]
test ebx, ebx
js 0x434d9e
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x433f8b
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x434db7
mov dword [0x5a1188], eax
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x434db7
mov edx, eax
mov ebx, ebp
cmp ebp, 2
jb 0x433fca
lea ecx, [ebx - 1]
mov eax, edx
nop dword [eax + eax]
mov dword [eax], 0
mov dword [eax + 4], 4
mov dword [eax + 8], 0
add eax, 0xc
dec ecx
jne 0x433fb0
mov dword [eax], 0
mov dword [eax + 4], 4
mov dword [eax + 8], 0
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], edx
mov esi, dword [eax + 0x38]
mov ecx, dword [eax + 0x34]
test esi, esi
je 0x434053
cmp esi, 0x1fffffff
ja 0x434d9e
lea ebx, [esi*4]
test ebx, ebx
js 0x434d9e
mov dword [esp + 0xc], ecx
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x434039
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x434db7
mov dword [0x5a1188], eax
push ebx
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x434db7
mov ecx, dword [esp + 0xc]
mov ebp, eax
jmp 0x43405a
mov ebp, 4
xor ebx, ebx
push ebx
push ecx
push ebp
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x2f4]
mov dword [esp + 0x4c], esi
mov ebx, dword [eax + 0x3c]
test ebx, ebx
je 0x434090
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x10], ecx
lock inc dword [ebx]
jle 0x434e57
mov ecx, dword [eax + 0x44]
mov dword [esp + 0x30], ecx
jmp 0x434090
movzx eax, byte [eax + 0x160]
mov esi, dword [esp + 8]
lea ecx, [esp + 0x1dd]
mov byte [esp + 0xc], al
lea eax, [esp + 0xc0]
inc esi
push 0xff
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [esp + 0x80], edi
mov ecx, dword [esp + 0x38]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x88], edi
mov edi, dword [esp + 0x2f4]
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], ecx
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0xa4], 0
movsd xmm0, qword [edi + 0x148]
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x10]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0xb0], eax
movzx eax, byte [esp + 0xc]
mov byte [esp + 0x1d8], al
mov eax, dword [esp + 0x14]
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], esi
mov dword [esp + 0xbc], eax
movzx eax, byte [esp + 4]
mov byte [esp + 0x1bf], al
mov eax, dword [esp + 0x18]
movsd qword [esp + 0x1c0], xmm0
mov dword [esp + 0x1cc], 0
mov dword [esp + 0x1c8], 0
mov dword [esp + 0x1d4], 0
mov dword [esp + 0x1d0], 0
cmp al, 2
je 0x4341c7
movzx eax, al
cmp eax, 1
jne 0x434225
lea eax, [esp + 0x80]
xor ecx, ecx
jmp 0x4341d3
lea eax, [esp + 0x80]
mov ecx, 1
mov edx, edi
push eax
call fcn.0043e600
add esp, 4
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x80], edi
jbe 0x434345
mov eax, dword [esp + 0x84]
test edi, edi
je 0x434323
lea esi, [edi*4]
push esi
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x434337
jmp 0x4343d8
mov edx, dword [edi + 8]
mov eax, 1
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x34], 1
shl eax, cl
mov ecx, dword [edi + 4]
mov dword [esp + 0x20], eax
test edx, edx
mov dword [esp + 4], edx
mov dword [esp + 0x18], ecx
je 0x434434
cmp edx, 0x1fffffff
ja 0x434d9e
lea edi, [edx*4]
test edi, edi
js 0x434d9e
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x434290
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x434e92
mov dword [0x5a1188], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esp + 0x10], eax
je 0x434e92
cmp dword [esp + 4], 2
jb 0x434451
lea esi, [edi - 4]
push esi
push 0
mov ebx, dword [esp + 0x18]
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebx + edi - 4], 0
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
jne 0x4342ef
call dword [sym.imp.kernel32.dll_GetProcessHeap]
test eax, eax
je 0x434e92
mov dword [0x5a1188], eax
push edi
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
je 0x434e92
mov ebx, eax
push esi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov edi, dword [esp + 0x2f4]
mov eax, ebx
mov dword [esp + 0xc], ebx
add eax, esi
jmp 0x4344a5
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x84], eax
mov dword [esp + 0x80], edi
mov edi, dword [esp + 0xa0]
cmp dword [esp + 0x98], edi
jbe 0x43439f
mov eax, dword [esp + 0x9c]
test edi, edi
je 0x43437d
lea esi, [edi*4]
push esi
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x434391
jmp 0x4343d8
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], edi
mov edi, dword [esp + 0x94]
cmp dword [esp + 0x8c], edi
jbe 0x434406
mov eax, dword [esp + 0x90]
test edi, edi
je 0x4343e4
lea ecx, [edi*4]
lea esi, [ecx + ecx*2]
push esi
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapReAlloc]
test eax, eax
jne 0x4343f8
mov ecx, 4
mov edx, esi
call fcn.00531970
push eax
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov eax, 4
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], edi
mov esi, dword [esp + 0x50]
lea ecx, [esp + 0x80]
lea eax, [esi + 4]
push 0x15c
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi], 0
add esp, 0x2dc
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x10], 4
mov dword [esp + 0xc], 4
mov esi, dword [esp + 0x14]
test esi, esi
jne 0x4344b7
jmp 0x4344fb
mov eax, dword [esp + 0x10]
mov dword [eax], 0
movzx eax, byte [0x5a11e8]
mov eax, dword [0x5a1188]
test eax, eax
je 0x434474
mov edi, dword [esp + 0x2f4]
jmp 0x43448e
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov edi, dword [esp + 0x2f4]
test eax, eax
je 0x434e8d
mov dword [0x5a1188], eax
push 4
push 0
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
test eax, eax
mov dword [esp + 0xc], eax
je 0x434e8d
mov edx, dword [esp + 4]
mov dword [eax], 0
mov esi, dword [esp + 0x14]
test esi, esi
je 0x4344fb
js 0x434d9e
mov eax, dword [0x5a1188]
test eax, eax
jne 0x4344dd
call dword [sym.imp.kernel32.dll_GetProcessHeap]
mov esi, dword [esp + 0x14]
test eax, eax
je 0x434e81
mov dword [0x5a1188], eax
mov esi, dword [esp + 0x14]
push esi
push 8
push eax
call dword [sym.imp.kernel32.dll_HeapAlloc]
mov edx, dword [esp + 4]
test eax, eax
mov dword [esp + 0x34], eax
je 0x434e81
test edx, edx
je 0x434afc
mov ecx, dword [esp + 0x18]
lea eax, [edx + edx*4]
mov esi, dword [edi + 0x10]
mov dword [esp], 0
lea eax, [ecx + eax*4]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x68], eax
mov eax, dword [edi + 0x158]
mov dword [esp + 0x64], eax
mov eax, dword [edi + 0x15c]
mov dword [esp + 0x60], eax
mov eax, edi
mov edi, dword [edi + 0x14]
mov ebx, dword [eax + 0x20]
mov ebp, dword [eax + 0x28]
mov dword [esp + 0x38], ebx
mov ebx, dword [eax + 0x1c]
mov eax, dword [eax + 0x2c]
mov dword [esp + 0x40], ebp
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x3c], eax
jmp 0x43458f
mov ebx, dword [esp]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0xc]
mov dword [eax + ecx*4], ebx
mov dword [ebp + ecx*4], ebx
mov eax, dword [esp + 0x2c]
add ebx, dword [esp + 0x20]
inc ecx
add eax, 0x14
mov dword [esp], ebx
cmp eax, dword [esp + 0x68]
mov dword [esp + 0x2c], eax
je 0x434aee
cmp ecx, edx
je 0x434ddf
cmp ecx, 2
jb 0x434560
mov eax, dword [esp + 0x64]
mov dword [esp + 0x1c], ecx
cmp ecx, eax
je 0x43484c
cmp ecx, dword [esp + 0x60]
je 0x43484c
mov ebx, dword [esp]
mov eax, dword [esp + 0x20]
lea edx, [ebx + eax]
mov eax, dword [esp + 0x10]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], edx
mov dword [eax + ecx*4], ebx
mov eax, dword [esp + 0xc]
mov dword [eax + ecx*4], edx
mov eax, edx
mov ecx, dword [esp + 0x24]
shr eax, cl
cmp eax, dword [esp + 0x14]
jae 0x434d30
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 4]
mov ebp, dword [esp + 0x1c]
mov byte [ecx + eax], 1
mov ecx, dword [esp + 0x2c]
cmp dword [ecx + 8], 0
je 0x434663
mov eax, dword [esp + 0x18]
cmp edx, ebp
jbe 0x434d56
mov edx, dword [esp]
lea ebx, [ebp + ebp*4]
lea ecx, [esp + 0x80]
mov dword [esp + 8], ebx
push dword [eax + ebx*4 + 8]
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.0043e4f0
add esp, 0xc
mov edx, dword [esp + 0x58]
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x80]
push dword [ebx + eax*4 + 8]
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.0043e4f0
add esp, 0xc
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x2f4]
lea ecx, [esp + 0x80]
cmp edx, ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], ecx
lea ebx, [esp + 0x54]
lea ecx, [esp + 0x58]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ecx
jbe 0x434d4a
mov ecx, dword [esp + 0x18]
lea eax, [ebp + ebp*4]
xor edx, edx
mov ecx, dword [ecx + eax*4]
test ecx, ecx
je 0x434a72
xor ebx, ebx
cmp ecx, edi
jae 0x434ae2
lea eax, [ecx + ecx*8]
mov ecx, dword [esi + eax + 5]
mov dword [esp + 0x30], ecx
movzx ecx, byte [esi + eax]
mov eax, dword [esi + eax + 1]
mov dword [esp + 0x48], eax
movzx eax, byte [esp]
mov byte [esp + 0x44], cl
movzx ecx, cl
cmp ebx, ecx
mov dword [esp + 0x28], ecx
jb 0x434730
movzx ecx, byte [esp + ecx + 0xc0]
test dl, 1
jne 0x434801
jmp 0x434805
xor eax, eax
movzx ecx, byte [esp + 8]
mov edx, dword [esp + 0x88]
add ecx, dword [esp + 0x54]
cmp ecx, edx
jae 0x434d16
mov edx, dword [esp + 0x84]
mov dword [edx + ecx*4], eax
movzx eax, byte [esp + 8]
mov ecx, dword [esp + 0x28]
mov dl, 1
inc ebx
cmp ebx, ecx
je 0x4347f2
movzx ebp, bl
test dl, 1
mov ah, byte [esp + ebp + 0xc0]
mov dword [esp], ebp
je 0x434746
cmp al, ah
je 0x434727
mov ecx, dword [esp + 0x2c]
mov byte [esp + 8], ah
mov ecx, dword [ecx + 0xc]
test ecx, ecx
je 0x4346f8
cmp dword [esp + 4], ecx
jbe 0x434cc2
mov eax, dword [esp + 0x18]
jmp 0x4347af
mov eax, dword [esp + 0x2f4]
mov edx, dword [esp]
movzx eax, byte [eax + edx + 0x48]
add ecx, eax
cmp ecx, dword [esp + 0x38]
jae 0x434ce0
mov eax, dword [esp + 0x4c]
lea ecx, [eax + ecx*4]
mov eax, dword [ecx]
cmp eax, 1
jne 0x4346fa
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + ebp*4 + 0xc]
cmp dword [esp + 4], ecx
jbe 0x434cc2
lea ebp, [ecx + ecx*4]
mov ecx, dword [eax + ebp*4 + 4]
test ecx, ecx
jne 0x434770
lea eax, [eax + ebp*4]
nop dword [eax]
mov ecx, dword [eax]
test ecx, ecx
je 0x43479d
cmp ecx, edi
jae 0x434ae2
lea ecx, [ecx + ecx*8]
mov edx, ebx
movzx ebx, byte [esi + ecx]
lea eax, [esi + ecx + 5]
cmp bl, dl
mov ebx, edx
jb 0x4347c0
jne 0x43479d
add ecx, esi
inc ecx
mov eax, dword [ecx]
cmp eax, 1
je 0x43479d
jmp 0x4346fa
mov ebx, ecx
movzx ecx, byte [esp + ecx + 0xc0]
test dl, 1
je 0x434805
cmp al, cl
je 0x434827
movzx edx, byte [esp + 0x44]
movzx eax, cl
mov byte [esp], cl
lea ecx, [esp + 0x6c]
push dword [esp + 0x48]
push eax
call fcn.0043e360
add esp, 8
movzx eax, byte [esp]
mov dl, 1
mov ecx, dword [esp + 0x30]
inc ebx
mov byte [esp], al
test ecx, ecx
jne 0x4346b0
movzx ecx, byte [esp]
cmp ebx, 0xff
jbe 0x434a80
jmp 0x434ad1
cmp ecx, eax
jne 0x434874
mov ebx, eax
mov eax, dword [esp + 0x10]
mov ebp, dword [esp]
mov dword [eax + ebx*4], ebp
mov ebp, dword [esp + 0xc]
mov dword [ebp + ebx*4], 0
mov eax, dword [esp + 0x2c]
cmp dword [eax + 8], 0
jne 0x4348b5
jmp 0x4348ea
mov eax, dword [esp + 0x10]
mov edx, dword [esp]
mov dword [eax + ecx*4], 0
mov eax, dword [esp + 0xc]
mov dword [eax + ecx*4], edx
mov eax, edx
mov ecx, dword [esp + 0x24]
shr eax, cl
cmp eax, dword [esp + 0x14]
jae 0x434d66
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 4]
mov byte [ecx + eax], 1
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
cmp dword [eax + 8], 0
je 0x4348ea
cmp edx, ecx
jbe 0x434d58
mov edx, dword [esp]
mov ebx, dword [esp + 0x18]
lea eax, [ecx + ecx*4]
lea ecx, [esp + 0x80]
push dword [ebx + eax*4 + 8]
push dword [esp + 0x40]
push dword [esp + 0x48]
call fcn.0043e4f0
mov ecx, dword [esp + 0x28]
add esp, 0xc
mov edx, dword [esp + 4]
cmp edx, ecx
jbe 0x434d40
lea eax, [ecx + ecx*4]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ecx, dword [ecx + eax*4]
mov dword [esp + 0x28], ebx
mov dword [esp + 8], edx
test ecx, ecx
je 0x434a08
xor eax, eax
xor ebx, ebx
jmp 0x434946
cmp eax, dword [esp + 8]
jae 0x434d20
mov edx, dword [esp + 0x28]
mov cl, ch
mov dword [edx + eax*4], ebp
mov al, 1
mov byte [esp + 0x30], cl
mov ecx, dword [esp + 0x48]
inc ebx
test ecx, ecx
je 0x4349f9
cmp ecx, edi
jae 0x434ae2
lea edx, [ecx + ecx*8]
mov ecx, dword [esi + edx + 1]
movzx ebp, byte [esi + edx]
mov dword [esp + 0x44], ecx
mov ecx, dword [esi + edx + 5]
cmp ebx, ebp
mov dword [esp + 0x48], ecx
movzx ecx, byte [esp + 0x30]
jb 0x434985
mov ch, byte [esp + ebp + 0xc0]
test al, 1
jne 0x4349cd
jmp 0x4349d5
inc ebx
cmp ebp, ebx
je 0x4349c0
movzx edx, bl
test al, 1
movzx edx, byte [esp + edx + 0xc0]
je 0x434998
cmp cl, dl
je 0x434980
movzx eax, dl
add eax, dword [esp]
cmp eax, dword [esp + 8]
jae 0x434cd0
mov ecx, dword [esp + 0x28]
mov dword [ecx + eax*4], 0
mov al, 1
mov ecx, edx
jmp 0x434980
mov ebx, ebp
mov ch, byte [esp + ebp + 0xc0]
test al, 1
je 0x4349d5
cmp cl, ch
je 0x434935
movzx eax, ch
mov ebp, dword [esp + 0x44]
add eax, dword [esp]
cmp ebp, 1
jne 0x434920
xor ebp, ebp
cmp eax, dword [esp + 8]
jb 0x43492a
jmp 0x434cd0
movzx ecx, byte [esp + 0x30]
cmp ebx, 0xff
jbe 0x434a10
jmp 0x434a62
xor eax, eax
xor ebx, ebx
nop dword [eax]
lea ebp, [ebx + 1]
cmp ebx, 0xff
mov edx, 0xff
cmovae ebp, edx
movzx edx, byte [esp + ebx + 0xc0]
test al, 1
je 0x434a31
cmp cl, dl
je 0x434a50
movzx ecx, dl
add ecx, dword [esp]
cmp ecx, dword [esp + 8]
jae 0x434cd2
mov eax, dword [esp + 0x28]
mov dword [eax + ecx*4], 0
mov al, 1
mov ecx, edx
cmp ebx, 0xfe
ja 0x434a62
cmp ebp, 0xff
mov ebx, ebp
jbe 0x434a10
mov ebx, dword [esp]
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
jmp 0x434572
xor ebx, ebx
nop word cs:[eax + eax]
nop
lea ebp, [ebx + 1]
cmp ebx, 0xff
mov eax, 0xff
cmovae ebp, eax
movzx eax, byte [esp + ebx + 0xc0]
test dl, 1
je 0x434aa2
cmp cl, al
je 0x434abf
lea ecx, [esp + 0x6c]
mov edx, ebx
mov byte [esp], al
movzx eax, al
push 1
push eax
call fcn.0043e360
add esp, 8
movzx ecx, byte [esp]
mov dl, 1
cmp ebx, 0xfe
ja 0x434ad1
cmp ebp, 0xff
mov ebx, ebp
jbe 0x434a80
mov edx, dword [esp + 4]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x5c]
jmp 0x434572
mov edx, edi
push 0x54b724
call fcn.00532ca0
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x2f4]
test esi, esi
je 0x434c02
mov eax, dword [esp + 0x20]
xor ebp, ebp
lea eax, [eax*4]
mov dword [esp], eax
jmp 0x434b29
inc ebp
cmp ebp, esi
je 0x434c02
mov eax, ebp
mov ecx, dword [esp + 0x24]
shl eax, cl
mov ecx, dword [esp + 0x14]
cmp ebp, ecx
je 0x434d0a
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x88]
cmp byte [ecx + ebp], 0
mov edi, edx
je 0x434ba0
sub edi, eax
jb 0x434dc3
cmp dword [esp + 0x20], edi
ja 0x434dcf
cmp dword [esp + 0x24], 0x1d
mov edi, dword [esp + 0x2f4]
ja 0x434b20
shl eax, 2
mov edx, dword [esp]
add eax, dword [esp + 0x84]
nop dword [eax]
mov ecx, dword [eax]
cmp ecx, dword [esp + 4]
jae 0x434cee
mov ebx, dword [esp + 0xc]
mov ecx, dword [ebx + ecx*4]
mov dword [eax], ecx
add eax, 4
add edx, 0xfffffffc
jne 0x434b80
jmp 0x434b20
sub edi, eax
jb 0x434df3
cmp dword [esp + 0x20], edi
ja 0x434dff
cmp dword [esp + 0x24], 0x1d
mov edi, dword [esp + 0x2f4]
ja 0x434b20
shl eax, 2
mov edx, dword [esp]
add eax, dword [esp + 0x84]
nop word cs:[eax + eax]
nop dword [eax + eax]
mov ecx, dword [eax]
cmp ecx, dword [esp + 4]
jae 0x434cfc
mov ebx, dword [esp + 0x10]
mov ecx, dword [ebx + ecx*4]
mov dword [eax], ecx
add eax, 4
add edx, 0xfffffffc
jne 0x434be0
jmp 0x434b20
mov ecx, dword [edi + 0x150]
mov edx, dword [esp + 4]
cmp ecx, edx
jae 0x434d76
mov esi, dword [esp + 0xc]
mov eax, dword [esi + ecx*4]
mov ecx, dword [edi + 0x154]
cmp ecx, edx
mov dword [esp + 0x1c8], eax
jae 0x434d80
mov eax, dword [esi + ecx*4]
mov ecx, dword [edi + 0x158]
cmp ecx, edx
mov dword [esp + 0x1cc], eax
jae 0x434d8a
mov eax, dword [esp + 0x10]
mov eax, dword [eax + ecx*4]
mov ecx, dword [edi + 0x15c]
cmp ecx, edx
mov dword [esp + 0x1d0], eax
jae 0x434d94
mov eax, dword [esi + ecx*4]
cmp dword [esp + 0x14], 0
mov dword [esp + 0x1d4], eax
je 0x434c87
push dword [esp + 0x34]
push 0
push dword [0x5a1188]
call dword [sym.imp.kernel32.dll_HeapFree]
mov esi, dword [sym.imp.kernel32.dll_HeapFree]
push dword [esp + 0xc]
push 0
push dword [0x5a1188]
call esi
push dword [esp + 0x10]
push 0
push dword [0x5a1188]
call esi
mov edi, dword [esp + 0x88]
cmp dword [esp + 0x80], edi
ja 0x4341f2
jmp 0x434345
mov edx, dword [esp + 4]
push 0x54b744
call fcn.00532ca0
mov ecx, eax
mov edx, dword [esp + 8]
push 0x53c208
call fcn.00532ca0
mov edx, dword [esp + 0x38]
push 0x54b754
call fcn.00532ca0
mov edx, dword [esp + 4]
push 0x53c1d8
call fcn.00532ca0
mov edx, dword [esp + 4]
push 0x53c1a8
call fcn.00532ca0
mov edx, ecx
push 0x53c178
call fcn.00532ca0
push 0x53c228
call fcn.00532ca0
mov edx, dword [esp + 8]
mov ecx, eax
push 0x53c218
call fcn.00532ca0
mov edx, dword [esp + 0x14]
mov ecx, eax
push 0x53c1e8
call fcn.00532ca0
push 0x53c524
call fcn.00532ca0
mov ecx, ebp
push 0x53c524
call fcn.00532ca0
mov ecx, ebp
mov edx, dword [esp + 4]
push 0x53c534
call fcn.00532ca0
mov edx, dword [esp + 0x14]
mov ecx, eax
push 0x53c1f8
call fcn.00532ca0
push 0x53c138
call fcn.00532ca0
push 0x53c148
call fcn.00532ca0
push 0x53c158
call fcn.00532ca0
push 0x53c168
call fcn.00532ca0
call fcn.004478d0
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c0e8
call fcn.00532d60
mov ecx, 4
mov edx, ebx
call fcn.00531970
mov ecx, eax
push 0x53c1b8
call fcn.00532c40
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0x53c1c8
call fcn.00532d00
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53d124
call fcn.00532d60
mov ecx, eax
push 0x53c188
call fcn.00532c40
mov ecx, dword [esp + 0x20]
mov edx, edi
push 0x53c198
call fcn.00532d00
mov ecx, 4
mov edx, ebp
call fcn.00531970
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c0c8
call fcn.00532d60
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c0d8
call fcn.00532d60
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c118
call fcn.00532d60
ud2
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c0f8
call fcn.00532d60
mov ecx, 0x59e39c
mov edx, 0x2b
push 0x53c108
call fcn.00532d60
mov ecx, 1
mov edx, esi
call fcn.00531970
mov edi, 4
mov ecx, 4
mov edx, edi
call fcn.00531970
int3