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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x288
movzx ebx, byte [ebp + 0x10]
lea eax, [esp + 0xf4]
push 0x190
push 0
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_memset
add esp, 0xc
mov dword [esp + 0xbc], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x2e], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xa8], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x64], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x68], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x50], 0
mov dword [esp + 0x58], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x8c], 0x6eff40
mov dword [esp + 0x90], 0x9baf70
mov dword [esp + 0x94], ebp
mov dword [esp + 0x9c], esp
mov dword [esp + 0x98], 0x50ad2d
mov dword [esp + 0x78], 1
lea eax, [esp + 0x74]
push eax
call fcn.006f0ec0
add esp, 4
lea esi, [esp + 0x50]
lea ecx, [esp + 0x60]
movzx edx, bl
lea edi, [esp + 0xa8]
lea eax, [esp + 0xbc]
lea ebx, [esp + 0x70]
push ebx
push esi
push ecx
lea ecx, [esp + 0x4c]
push ecx
push edi
lea ecx, [esp + 0x42]
push ecx
lea ecx, [esp + 0x47]
push ecx
push eax
push dword [ebp + 0x14]
push edx
call fcn.0050b3a0
add esp, 0x28
mov ecx, dword [ebp + 0x18]
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov eax, dword [eax]
mov dword [edx], eax
shr ecx, 9
and ecx, 1
mov dword [esp + 0xe4], ecx
mov eax, dword [ebp + 0x30]
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x284]
mov dword [esp + 0x30], eax
lea ecx, [esp + 0xf4]
mov eax, 0x4dfad0
xor esi, esi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
jmp 0x509931
lea eax, [ebp + 0xc]
mov ecx, dword [esp]
mov dword [eax], ecx
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov ecx, dword [ebp + 0x28]
cmp eax, dword [ecx]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x24]
je 0x50ac13
nop word cs:[eax + eax]
mov esi, dword [esp + 0xb8]
inc esi
cmp esi, 4
je 0x50a894
mov dword [esp + 0xc], ecx
mov dword [esp + 8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, 0
test ecx, ecx
mov dword [esp + 0xb8], esi
je 0x50998d
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509960
mov edx, ecx
jmp 0x50998d
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 2
call eax
cmp eax, 0xffffffff
je 0x50997b
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x509986
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor edx, edx
mov esi, dword [esp + 0xb8]
lea eax, [ebp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x5099e0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ecx
jne 0x5099c4
mov dword [esp + 4], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 3
call eax
cmp eax, 0xffffffff
mov esi, dword [esp + 0xb8]
mov edx, dword [esp + 4]
je 0x5099d5
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test edx, edx
je 0x5099f7
jmp 0x50a894
lea eax, [ebp + 0xc]
mov dword [eax], 0
nop
mov dword [esp], 0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test edx, edx
je 0x50a894
movsx edx, byte [esp + esi + 0xbc]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp edx, 4
ja case.default.0x509a10
jmp dword [edx*4 + 0x50af04]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp esi, 3
jne 0x509f41
jmp 0x50a894
mov ebx, dword [esp + 8]
mov dword [esp], 0
mov edx, dword [esp + 0xc]
jmp 0x509a44
inc eax
mov dword [ecx + 0xc], eax
mov dword [esp + 0x28], ebx
mov dword [esp + 0x18], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov edx, 0
test ecx, ecx
je 0x509ab0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509a70
mov edx, ecx
jmp 0x509ab0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x78], 0x18
call eax
cmp eax, 0xffffffff
je 0x509aa1
mov eax, dword [ebp + 8]
mov edx, dword [eax]
jmp 0x509ab0
mov eax, dword [ebp + 8]
mov dword [eax], 0
xor edx, edx
nop dword [eax]
lea eax, [ebp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x509b10
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x509af3
mov dword [esp + 4], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x28]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], esi
mov dword [esp + 0x78], 0x19
call eax
cmp eax, 0xffffffff
mov edx, dword [esp + 4]
je 0x509afc
test edx, edx
je 0x509b18
jmp 0x509db6
lea eax, [ebp + 0xc]
mov dword [eax], 0
nop word cs:[eax + eax]
test edx, edx
je 0x509db6
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509b30
movzx ebx, byte [eax]
test bl, bl
jns 0x509b45
jmp 0x509b58
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1a
call eax
mov ebx, eax
test bl, bl
js 0x509b58
movzx eax, bl
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 4
jne 0x509c00
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x509b80
mov eax, dword [esp + 0xac]
test eax, eax
jne 0x509b8a
jmp 0x509db6
shr eax, 1
test eax, eax
je 0x509db6
cmp dword [esp], 0
je 0x509db6
cmp byte [esp + 0x2e], bl
jne 0x509db6
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov edi, dword [esp + 0x14]
mov ecx, dword [esp + 0x30]
cmp edi, ecx
jne 0x509c7e
mov eax, dword [esp + 0x28]
mov edx, ecx
sub edx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x18]
sete cl
test cl, 1
lea esi, [edx + edx]
mov ecx, 4
cmovne esi, ecx
mov edi, edx
cmp edx, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp eax, 0x4dfad0
je 0x509c5b
push esi
push dword [esp + 0x1c]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
jmp 0x509c64
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
mov edi, dword [esp + 0x3c]
cmp eax, edi
je 0x509c15
mov edx, dword [ebp + 0x2c]
jmp 0x509cc3
mov edx, dword [ebp + 0x28]
mov eax, dword [edx]
sub edi, eax
sete cl
test cl, 1
lea esi, [edi + edi]
mov ecx, 1
cmovne esi, ecx
mov dword [esp + 0x3c], edi
cmp edi, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp dword [edx + 4], 0x4dfad0
je 0x509c93
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x509ca4
jmp 0x50acda
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
mov edx, eax
test eax, eax
je 0x50acda
add edi, edx
and esi, 0xfffffffc
add esi, edx
mov ebx, sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esp + 0x30], esi
mov eax, dword [esp]
mov dword [edi], eax
add edi, 4
mov dword [esp + 0x14], edi
mov dword [esp], 0
jmp 0x509cd5
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50acda
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov edi, dword [esp + 0x3c]
add edi, eax
mov edx, dword [ebp + 0x2c]
mov dword [edx], edi
add esi, dword [ecx]
mov eax, edi
mov dword [esp + 0x3c], esi
lea ecx, [eax + 1]
mov dword [edx], ecx
mov byte [eax], bl
inc dword [esp]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x509a40
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0xcc], edx
mov dword [esp + 0xd0], ebx
mov dword [esp + 0x78], 0x1c
mov dword [esp + 4], edx
mov dword [esp + 0x38], ebx
call eax
mov ebx, dword [esp + 0x38]
mov edx, dword [esp + 4]
jmp 0x509a44
cmp dword [esp + 0x10], 0
jne 0x509df5
cmp esi, 2
jb 0x509df5
sete al
cmp byte [esp + 0xbf], 0
setne dl
and dl, al
or dl, byte [esp + 0xe4]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp dl, 1
jne 0x50a04c
mov dh, byte [esp + 0x40]
test dh, 1
sete dl
mov eax, dword [esp + 0x48]
mov ebx, eax
lea ecx, [esp + 0x41]
cmove ebx, ecx
jmp 0x509e14
movzx edx, byte [esp + 0x60]
mov ebx, edx
and bl, 1
mov dword [esp], edx
je 0x509e3b
mov edx, dword [esp + 0x64]
jmp 0x509e3d
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
cmp esi, 3
je 0x50a894
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509e94
movzx eax, byte [eax]
jmp 0x509ea3
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
cmp edx, dword [esp + 0x14]
je 0x50a270
cmp dword [esp], 0
je 0x50a270
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x30]
cmp dword [esp + 0x14], esi
je 0x50a06f
mov edi, dword [esp + 0x14]
jmp 0x50a264
mov dh, byte [esp + 0x40]
test dh, 1
sete dl
mov eax, dword [esp + 0x48]
mov ebx, eax
lea ecx, [esp + 0x41]
cmove ebx, ecx
test esi, esi
je 0x50a592
lea ecx, [esp + 0xbc]
cmp byte [esi + ecx - 1], 1
ja 0x50a592
test dl, dl
mov byte [esp + 0x38], dh
jne 0x50a0c3
mov esi, dword [esp + 0x44]
jmp 0x50a0ca
shr edx, 1
movzx eax, byte [esp + 0x50]
mov bh, al
and bh, 1
mov dword [esp + 4], eax
je 0x509e53
mov edi, dword [esp + 0x54]
jmp 0x509e57
mov edi, eax
shr edi, 1
mov esi, edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
add esi, edi
je case.default.0x509a10
mov eax, dword [ebp + 8]
test edx, edx
je 0x50a059
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
mov edx, dword [ecx + 0x10]
test edi, edi
je 0x50a176
cmp eax, edx
je 0x50a189
movzx eax, byte [eax]
jmp 0x50a1a5
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 4
call eax
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
test al, 0x80
jne 0x50ac13
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
movzx eax, word [ecx + eax*2]
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
test al, 8
je 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509ee8
lea edx, [eax + 1]
mov dword [ecx + 0xc], edx
movzx eax, byte [eax]
jmp 0x509ef7
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 5
call eax
mov dword [esp + 0x78], 6
movsx eax, al
lea ecx, [esp + 0xc0]
push eax
call fcn.00520460
jmp 0x509f41
lea edx, [eax + 1]
mov dword [ecx + 0xc], edx
movzx eax, byte [eax]
mov dword [esp + 0x78], 0xb
movsx eax, al
lea ecx, [esp + 0xc0]
push eax
call fcn.00520460
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
je 0x509f56
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509f90
mov edx, ecx
mov ecx, dword [esp]
test ecx, ecx
je 0x509fd0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x509f84
mov dword [esp + 4], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 8
call eax
cmp eax, 0xffffffff
mov ecx, dword [esp]
mov edx, dword [esp + 4]
je 0x509fd0
test edx, edx
je 0x509fd6
jmp 0x50a03a
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 7
call eax
cmp eax, 0xffffffff
mov ecx, dword [esp]
mov edx, 0
mov eax, dword [ebp + 8]
je 0x509fb7
mov edx, dword [eax]
test ecx, ecx
jne 0x509f5d
jmp 0x509fd0
mov dword [eax], 0
test ecx, ecx
jne 0x509f5d
nop word cs:[eax + eax]
xor ecx, ecx
test edx, edx
je 0x50a03a
mov dword [esp], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x509ff0
movzx eax, byte [eax]
jmp 0x509fff
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 9
call eax
test al, 0x80
jne 0x50a037
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
test byte [ecx + eax*2], 8
je 0x50a037
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x509f20
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xa
call eax
jmp 0x509f29
mov ecx, dword [esp]
lea eax, [ebp + 0xc]
mov dword [eax], ecx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
jmp case.default.0x509a10
mov dword [esp + 0x10], 0
jmp case.default.0x509a10
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a1ec
movzx eax, byte [eax]
jmp 0x50a209
mov eax, dword [esp + 0x28]
mov edx, esi
sub edx, dword [esp + 0x18]
cmp esi, dword [esp + 0x18]
sete cl
test cl, 1
lea esi, [edx + edx]
mov ecx, 4
cmovne esi, ecx
mov edi, edx
cmp edx, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp eax, 0x4dfad0
je 0x50a243
push esi
push dword [esp + 0x1c]
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x50a254
jmp 0x50ad0a
mov cl, dh
shr cl, 1
movzx esi, cl
mov edx, ebx
test esi, esi
mov dword [esp + 4], ebx
je 0x50a0f7
lea edi, [ebx + esi]
mov ecx, dword [ebp + 0x24]
mov edx, ebx
mov ebx, dword [ecx + 8]
nop
movzx ecx, byte [edx]
test cl, cl
js 0x50a0f3
test byte [ebx + ecx*2], 8
je 0x50a0f3
inc edx
dec esi
jne 0x50a0e0
mov edx, edi
mov ebx, dword [esp + 4]
mov esi, edx
sub esi, ebx
movzx ecx, byte [esp + 0xc0]
test cl, 1
je 0x50a115
mov ebx, dword [esp + 0xc4]
cmp esi, ebx
jbe 0x50a11d
jmp 0x50a16d
mov ebx, ecx
shr ebx, 1
cmp esi, ebx
ja 0x50a16d
lea edi, [esp + 0xc1]
test cl, 1
je 0x50a130
mov edi, dword [esp + 0xc8]
cmp edx, dword [esp + 4]
je 0x50a16d
mov dword [esp + 0xd4], eax
add edi, ebx
sub edi, esi
xor ecx, ecx
nop word cs:[eax + eax]
movzx ebx, byte [edi + ecx]
mov eax, dword [esp + 4]
cmp bl, byte [eax + ecx]
jne 0x50a585
inc ecx
cmp esi, ecx
jne 0x50a150
mov ebx, edx
jmp 0x50a587
mov ebx, dword [esp + 4]
jmp 0x50a58e
cmp eax, edx
je 0x50a729
movzx eax, byte [eax]
mov edx, dword [esp]
jmp 0x50a742
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x10
call eax
movzx ecx, byte [esp + 0x60]
mov dword [esp], ecx
mov ebx, ecx
and bl, 1
lea esi, [esp + 0x61]
test bl, bl
je 0x50a1b1
mov esi, dword [esp + 0x68]
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
mov edi, dword [ecx + 0x10]
cmp byte [esi], al
jne 0x50a1dc
cmp edx, edi
je 0x50a77f
inc edx
mov dword [ecx + 0xc], edx
mov eax, dword [esp]
test bl, bl
je 0x50a7a0
jmp 0x50a872
cmp edx, edi
je 0x50a7aa
movzx eax, byte [edx]
jmp 0x50a7b9
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0xe
call eax
movzx ecx, byte [esp + 0x50]
mov dword [esp + 4], ecx
mov bh, cl
and bh, 1
lea ecx, [esp + 0x51]
test bh, bh
je 0x50a215
mov ecx, dword [esp + 0x58]
cmp byte [ecx], al
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
jne case.default.0x509a10
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a81a
inc eax
mov dword [ecx + 0xc], eax
mov ecx, dword [esp + 4]
jmp 0x50a833
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50ad0a
add edi, eax
and esi, 0xfffffffc
add esi, eax
mov ecx, sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov dword [esp + 0x30], esi
mov edx, dword [esp]
mov dword [edi], edx
add edi, 4
mov dword [esp + 0x14], edi
mov dword [esp + 0x24], ecx
mov dword [esp + 0x20], eax
cmp dword [esp + 0x70], 0
jle 0x5098f2
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edi, edi
test ecx, ecx
je 0x50a2c0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a29a
mov edi, ecx
jmp 0x50a2c0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1e
call eax
cmp eax, 0xffffffff
mov edi, 0
mov eax, dword [ebp + 8]
je 0x50a2ba
mov edi, dword [eax]
jmp 0x50a2c0
mov dword [eax], 0
lea eax, [ebp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x50a30a
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
mov dword [esp], ecx
jne 0x50a2f0
mov dword [esp + 4], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x1f
call eax
cmp eax, 0xffffffff
mov edi, dword [esp + 4]
je 0x50a301
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test edi, edi
je 0x50a321
jmp 0x50ac13
lea eax, [ebp + 0xc]
mov dword [eax], 0
mov dword [esp], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test edi, edi
je 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a333
movzx eax, byte [eax]
jmp 0x50a342
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x20
call eax
cmp byte [esp + 0x2f], al
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
jne 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a367
inc eax
mov dword [ecx + 0xc], eax
jmp 0x50a376
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x21
call eax
cmp dword [esp + 0x70], 0
jg 0x50a39c
jmp 0x5098ea
inc edx
mov dword [ecx + 0xc], edx
test eax, eax
jle 0x5098ea
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edi, edi
test ecx, ecx
je 0x50a3f0
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a3c0
mov edi, ecx
jmp 0x50a3f0
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x22
call eax
cmp eax, 0xffffffff
mov edi, 0
mov eax, dword [ebp + 8]
je 0x50a3e0
mov edi, dword [eax]
jmp 0x50a3f0
mov dword [eax], 0
nop word cs:[eax + eax]
mov ecx, dword [esp]
test ecx, ecx
je 0x50a430
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x50a41b
mov dword [esp + 4], edi
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x23
call eax
cmp eax, 0xffffffff
mov edi, dword [esp + 4]
je 0x50a430
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test edi, edi
je 0x50a447
jmp 0x50ac13
mov dword [esp], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test edi, edi
je 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a460
movzx eax, byte [eax]
jmp 0x50a46f
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x24
call eax
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test al, 0x80
jne 0x50ac13
movzx eax, al
mov ecx, dword [ebp + 0x24]
mov ecx, dword [ecx + 8]
movzx eax, word [ecx + eax*2]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
test al, 4
je 0x50ac13
mov eax, dword [ebp + 0x2c]
mov edx, dword [eax]
mov ecx, dword [esp + 0x3c]
cmp edx, ecx
jne 0x50a51b
mov edx, dword [ebp + 0x28]
mov eax, dword [edx]
sub ecx, eax
mov ebx, ecx
sete cl
test cl, 1
lea esi, [ebx + ebx]
mov ecx, 1
cmovne esi, ecx
mov edi, ebx
cmp ebx, 0x7fffffff
mov ecx, 0xffffffff
cmovae esi, ecx
cmp dword [edx + 4], 0x4dfad0
je 0x50a4ef
push esi
push eax
call sub.api_ms_win_crt_heap_l1_1_0.dll_realloc
add esp, 8
test eax, eax
jne 0x50a500
jmp 0x50ace7
push esi
call sub.api_ms_win_crt_heap_l1_1_0.dll_malloc
add esp, 4
test eax, eax
je 0x50ace7
mov ecx, dword [ebp + 0x28]
mov dword [ecx], eax
mov dword [ecx + 4], sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov edx, edi
add edx, eax
mov eax, dword [ebp + 0x2c]
mov dword [eax], edx
add esi, dword [ecx]
mov dword [esp + 0x3c], esi
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a530
movzx eax, byte [eax]
mov esi, dword [ebp + 0x2c]
jmp 0x50a544
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x26
call eax
mov esi, dword [ebp + 0x2c]
mov edx, dword [esi]
lea ecx, [edx + 1]
mov dword [esi], ecx
mov byte [edx], al
mov eax, dword [esp + 0x70]
dec eax
mov dword [esp + 0x70], eax
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx]
mov edx, dword [ecx + 0xc]
cmp edx, dword [ecx + 0x10]
jne 0x50a390
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x27
call eax
mov eax, dword [esp + 0x70]
test eax, eax
jg 0x50a39c
jmp 0x5098ea
mov ebx, eax
mov eax, dword [esp + 0xd4]
mov dh, byte [esp + 0x38]
mov cl, dh
shr cl, 1
test dh, 1
movzx ecx, cl
cmovne ecx, dword [esp + 0x44]
lea edx, [esp + 0x41]
cmove eax, edx
jmp 0x50a5b8
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
add ecx, eax
cmp ebx, ecx
je 0x50a6dc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor edx, edx
test ecx, ecx
mov dword [esp + 4], ebx
je 0x50a5db
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a620
mov edx, ecx
mov ecx, dword [esp]
test ecx, ecx
je 0x50a660
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x50a60d
mov dword [esp + 0x38], edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x15
call eax
mov ebx, dword [esp + 4]
cmp eax, 0xffffffff
mov ecx, dword [esp]
mov edx, dword [esp + 0x38]
je 0x50a657
test edx, edx
je 0x50a666
jmp 0x50a6dc
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x14
call eax
mov ebx, dword [esp + 4]
cmp eax, 0xffffffff
mov ecx, dword [esp]
mov edx, 0
mov eax, dword [ebp + 8]
je 0x50a64b
mov edx, dword [eax]
test ecx, ecx
jne 0x50a5e2
jmp 0x50a660
mov dword [eax], 0
test ecx, ecx
jne 0x50a5e2
jmp 0x50a660
lea eax, [ebp + 0xc]
mov dword [eax], 0
xor ecx, ecx
test edx, edx
je 0x50a6dc
mov dword [esp], ecx
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a680
movzx eax, byte [eax]
jmp 0x50a693
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x16
call eax
mov ebx, dword [esp + 4]
cmp byte [ebx], al
jne 0x50a6dc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a6b0
inc eax
mov dword [ecx + 0xc], eax
jmp 0x50a6c3
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x17
call eax
mov ebx, dword [esp + 4]
inc ebx
movzx eax, byte [esp + 0x40]
test al, 1
jne 0x50a5b0
shr eax, 1
lea ecx, [esp + 0x41]
jmp 0x50a5b8
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
test dword [ebp + 0x18], 0x200
je case.default.0x509a10
movzx eax, byte [esp + 0x40]
test al, 1
je 0x50a704
mov edi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
jmp 0x50a70a
shr eax, 1
lea edi, [esp + 0x41]
add edi, eax
mov esi, dword [esp + 8]
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
cmp ebx, edi
je case.default.0x509a10
jmp 0x50ac13
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0xc
call eax
movzx edx, byte [esp + 0x60]
mov ebx, edx
and bl, 1
lea ecx, [esp + 0x61]
test bl, bl
je 0x50a74e
mov ecx, dword [esp + 0x68]
cmp byte [ecx], al
jne 0x50a774
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a855
inc eax
mov dword [ecx + 0xc], eax
test bl, bl
jne 0x50a872
jmp 0x50a878
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
jmp 0x50a03f
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x11
call eax
movzx eax, byte [esp + 0x60]
mov ebx, eax
and bl, 1
test bl, bl
jne 0x50a872
shr al, 1
movzx eax, al
jmp 0x50a87d
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x12
call eax
movzx ebx, byte [esp + 0x50]
mov bh, bl
lea ecx, [esp + 0x51]
and bh, 1
je 0x50a7cd
mov ecx, dword [esp + 0x58]
cmp byte [ecx], al
mov esi, dword [esp + 8]
mov edx, dword [esp + 0xc]
jne 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a7f0
inc eax
mov dword [ecx + 0xc], eax
jmp 0x50a809
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x13
call eax
movzx ebx, byte [esp + 0x50]
mov bh, bl
and bh, 1
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test bh, bh
jne 0x50a83d
shr bl, 1
movzx eax, bl
jmp 0x50a848
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xf
call eax
movzx ecx, byte [esp + 0x50]
mov bh, cl
and bh, 1
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test bh, bh
je 0x50a843
mov eax, dword [esp + 0x54]
jmp 0x50a848
shr cl, 1
movzx eax, cl
mov ecx, dword [esp + 0x10]
cmp eax, 2
lea eax, [esp + 0x50]
jmp 0x50a888
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0xd
call eax
movzx edx, byte [esp + 0x60]
mov ebx, edx
and bl, 1
test bl, bl
je 0x50a878
mov eax, dword [esp + 0x64]
jmp 0x50a87d
shr dl, 1
movzx eax, dl
mov ecx, dword [esp + 0x10]
cmp eax, 2
lea eax, [esp + 0x60]
cmovae ecx, eax
mov dword [esp + 0x10], ecx
jmp 0x50a03f
mov dword [esp + 0x34], eax
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x50aa3c
movzx eax, byte [ecx]
test al, 1
je 0x50a8bc
mov eax, dword [ecx + 4]
cmp eax, 2
jae 0x50a8c7
jmp 0x50aa3c
shr eax, 1
cmp eax, 2
jb 0x50aa3c
lea eax, [ecx + 1]
mov dword [esp + 0x30], eax
mov edi, 1
jmp 0x50a8eb
mov eax, dword [ecx + 4]
cmp edi, eax
jae 0x50aa3c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
xor ebx, ebx
test ecx, ecx
mov dword [esp], edi
je 0x50a940
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a910
mov ebx, ecx
jmp 0x50a940
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x28
call eax
mov edi, dword [esp]
cmp eax, 0xffffffff
mov ebx, 0
mov eax, dword [ebp + 8]
je 0x50a933
mov ebx, dword [eax]
jmp 0x50a940
mov dword [eax], 0
nop dword [eax]
lea eax, [ebp + 0xc]
mov ecx, dword [eax]
test ecx, ecx
je 0x50a990
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
jne 0x50a970
mov dword [esp + 0x3c], ebx
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x29
call eax
mov edi, dword [esp]
cmp eax, 0xffffffff
mov ebx, dword [esp + 0x3c]
je 0x50a981
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
test ebx, ebx
je 0x50a9a0
jmp 0x50ac13
lea eax, [ebp + 0xc]
mov dword [eax], 0
nop word [eax + eax]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
test ebx, ebx
je 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50a9c0
movzx eax, byte [eax]
jmp 0x50a9d2
mov eax, dword [ecx]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x78], 0x2a
call eax
mov edi, dword [esp]
mov ecx, dword [esp + 0x10]
test byte [ecx], 1
mov ecx, dword [esp + 0x30]
je 0x50a9e6
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 8]
cmp byte [ecx + edi], al
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
jne 0x50ac13
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov eax, dword [ecx + 0xc]
cmp eax, dword [ecx + 0x10]
je 0x50aa10
inc eax
mov dword [ecx + 0xc], eax
jmp 0x50aa22
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
mov dword [esp + 0x78], 0x2b
call eax
mov edi, dword [esp]
inc edi
mov ecx, dword [esp + 0x10]
movzx eax, byte [ecx]
test al, 1
jne 0x50a8e0
shr eax, 1
cmp edi, eax
jb 0x50a8eb
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x34]
mov dword [esp], ecx
cmp eax, dword [esp + 0x14]
je 0x50aa68
mov al, 1
mov dword [esp + 0x30], eax
movzx eax, byte [esp + 0xa8]
test al, 1
je 0x50aa81
mov ecx, dword [esp + 0xac]
jmp 0x50aa85
mov al, 1
mov dword [esp + 0x30], eax
test byte [esp + 0xc0], 1
je 0x50ab78
jmp 0x50ac36
mov ecx, eax
shr ecx, 1
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov dword [esp], esi
test ecx, ecx
je 0x50aadc
mov ecx, dword [esp + 0x14]
add ecx, 0xfffffffc
cmp ecx, dword [esp + 0x1c]
mov dword [esp + 0x14], ecx
jbe 0x50aaf3
mov eax, dword [esp + 0x1c]
add eax, 4
nop dword [eax]
mov edx, dword [eax - 4]
mov esi, dword [ecx]
mov dword [eax - 4], esi
mov dword [ecx], edx
add ecx, 0xfffffffc
lea edx, [eax + 4]
cmp eax, ecx
mov eax, edx
jb 0x50aab0
movzx ecx, byte [esp + 0xa8]
test cl, 1
je 0x50ab00
mov eax, dword [esp + 0xb0]
jmp 0x50ab07
mov dword [esp + 0x14], edx
test byte [esp + 0xc0], 1
je 0x50ab78
jmp 0x50ac36
test al, 1
je 0x50ab26
mov eax, dword [esp + 0xb0]
jmp 0x50ab2d
lea eax, [esp + 0xa9]
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x1c]
jbe 0x50ab2d
test cl, 1
je 0x50abc7
mov ecx, dword [esp + 0xac]
jmp 0x50abc9
lea eax, [esp + 0xa9]
movzx eax, byte [eax]
mov edx, eax
dec dl
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
mov dword [esp], esi
cmp dl, 0x7d
ja 0x50abb7
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx]
dec ecx
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x34]
mov edi, dword [esp + 0x34]
mov dword [esp], edi
cmp ecx, eax
jae 0x50ac13
test byte [esp + 0xc0], 1
jne 0x50ac36
test byte [esp + 0x50], 1
jne 0x50ac50
test byte [esp + 0x60], 1
jne 0x50ac67
test byte [esp + 0x40], 1
jne 0x50ac7e
test byte [esp + 0xa8], 1
jne 0x50ac98
cmp dword [esp + 0x14], 0
jne 0x50acae
jmp 0x50acc1
mov dword [esp + 0x14], ecx
test byte [esp + 0xc0], 1
je 0x50ab78
jmp 0x50ac36
shr ecx, 1
add ecx, eax
mov edi, dword [esp + 0x1c]
jmp 0x50abfb
mov edx, ecx
sub edx, eax
xor ebx, ebx
cmp edx, 2
setge bl
add eax, ebx
add edi, 4
cmp edi, dword [esp + 0x14]
jae 0x50ab2d
movzx edx, byte [eax]
mov ebx, edx
dec bl
cmp bl, 0x7d
ja 0x50abe0
cmp dword [edi], edx
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x34]
je 0x50abe0
mov eax, dword [ebp + 0x1c]
or byte [eax], 4
mov dword [esp + 0x30], 0
mov dword [esp + 0x14], edx
mov dword [esp], esi
test byte [esp + 0xc0], 1
je 0x50ab78
push dword [esp + 0xc8]
call fcn.0051c570
add esp, 4
test byte [esp + 0x50], 1
je 0x50ab83
push dword [esp + 0x58]
call fcn.0051c570
add esp, 4
test byte [esp + 0x60], 1
je 0x50ab8e
push dword [esp + 0x68]
call fcn.0051c570
add esp, 4
test byte [esp + 0x40], 1
je 0x50ab99
push dword [esp + 0x48]
call fcn.0051c570
add esp, 4
test byte [esp + 0xa8], 1
je 0x50aba7
push dword [esp + 0xb0]
call fcn.0051c570
add esp, 4
cmp dword [esp + 0x14], 0
je 0x50acc1
mov dword [esp + 0x78], 0x2c
push dword [esp + 0x14]
call dword [esp + 4]
add esp, 4
lea eax, [esp + 0x74]
push eax
call fcn.006f0f20
add esp, 4
mov eax, dword [esp + 0x30]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov dword [esp + 0x78], 0x1b
call fcn.0051c3a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x78], 0x25
call fcn.0051c3a0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0xdc], eax
mov dword [esp + 0xe0], ecx
mov dword [esp + 0x78], 0x1d
call fcn.0051c3a0
mov eax, dword [esp + 0x78]
cmp eax, 0x2d
jae case.default.0x50ad3c
jmp dword [eax*4 + 0x50af18]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, 0x4dfad0
lea esi, [esp + 0xf4]
jmp 0x50adf5
jmp case.0x50ad3c.33
jmp case.0x50ad3c.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
jmp 0x50adf5
jmp case.0x50ad3c.25
jmp case.0x50ad3c.22
jmp case.0x50ad3c.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xd0]
mov esi, dword [esp + 0xcc]
jmp 0x50adf5
jmp case.0x50ad3c.22
jmp case.0x50ad3c.22
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
jmp 0x50adf5
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 8]
mov esi, dword [esp + 0xc]
jmp 0x50adf5
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xe0]
mov esi, dword [esp + 0xdc]
jmp 0x50adf5
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x80]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xe8], edx
mov dword [esp + 0xd8], esi
test byte [esp + 0xc0], 1
jne 0x50ae4a
test byte [esp + 0x50], 1
jne 0x50ae60
test byte [esp + 0x60], 1
jne 0x50ae73
test byte [esp + 0x40], 1
jne 0x50ae86
test byte [esp + 0xa8], 1
jne 0x50ae9c
cmp dword [esp + 0xd8], 0
je 0x50aed1
jmp 0x50aeb5
push dword [esp + 0xc8]
call fcn.0051c570
add esp, 4
test byte [esp + 0x50], 1
je 0x50ae22
push dword [esp + 0x58]
call fcn.0051c570
add esp, 4
test byte [esp + 0x60], 1
je 0x50ae29
push dword [esp + 0x68]
call fcn.0051c570
add esp, 4
test byte [esp + 0x40], 1
je 0x50ae30
push dword [esp + 0x48]
call fcn.0051c570
add esp, 4
test byte [esp + 0xa8], 1
je 0x50ae3a
push dword [esp + 0xb0]
call fcn.0051c570
add esp, 4
cmp dword [esp + 0xd8], 0
je 0x50aed1
mov eax, dword [esp + 0xd8]
mov ecx, dword [esp + 0xe8]
mov dword [esp + 0x78], 0x2d
push eax
call ecx
add esp, 4
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0x78], 0xffffffff
push eax
call fcn.006f11c0
ud2
jmp case.0x50ad3c.43
mov eax, dword [esp + 0x80]
push dword [esp + 0x7c]
call fcn.004cc770
nop dword [eax]
pop ss
lcall 80, 0x9d8c0050
sbb byte [ebp - 0x628fffb0], bl
push eax
add byte [0x4300509a], ch
lodsd eax, dword [esi]
push eax
add byte [ecx - 0x66ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ecx + 0x7a0050ad], bl
lodsd eax, dword [esi]
push eax
add byte [edx - 0x53], bh
push eax
add byte [ebp + ebp*4 + 0x50], bh
add byte [ebp + ebp*4 + 0x50], bh
add byte [ebp + ebp*4 + 0x50], bh
add byte [ecx - 0x53], ah
push eax
add byte [ecx - 0x53], ah
push eax
add byte [ecx - 0x66ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ecx - 0x66ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ecx - 0x66ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ecx - 0x66ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ebx - 0x64ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ebx - 0x4dffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [esi - 0x53], bh
push eax
add byte [esi - 0x53], bh
push eax
add dl, ah
lodsd eax, dword [esi]
push eax
add byte [eax - 0x53], bh
push eax
add byte [esi - 0x53], bh
push eax
add bh, al
lodsd eax, dword [esi]
push eax
add byte [edi - 0x53], bl
push eax
add byte [edi - 0x53], bl
push eax
add byte [edi - 0x53], bl
push eax
add byte [edi - 0x53], bl
push eax
add byte [ebx - 0x53], ah
push eax
add byte [ebx - 0x53], ah
push eax
add byte [ebx - 0x53], ah
push eax
add bh, al
lodsd eax, dword [esi]
push eax
add byte [ebx - 0x53], ah
push eax
add byte [ebx - 0x53], ah
push eax
add byte [ebp - 0x62ffaf53], bl
lodsd eax, dword [esi]
push eax
add byte [ebp - 0x62ffaf53], bl
lodsd eax, dword [esi]
push eax
add cl, dh
scasb al, byte es:[edi]
push eax
add bh, ch
scasb al, byte es:[edi]
push eax
add ah, cl
int3