Function at 0x4333e0
Capabilities:
Contain obfuscated stackstrings
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
mov eax, 0x10d20
call fcn.004e88a0
mov edx, dword [esp + 0x10d30]
push ebx
mov bl, byte [esp + 0x10d2c]
mov dword [esp + 4], ebx
push ebp
push esi
mov esi, ecx
mov dword [esp + 0x14], esi
push edi
test edx, edx
je 0x433440
lea ecx, [esp + 0x120]
sub ecx, edx
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [ecx + edx - 2], ax
test ax, ax
jne 0x433413
mov eax, dword [esp + 0x10d44]
test eax, eax
jne 0x433b42
mov edi, dword [esp + 0x10d34]
xor cl, cl
jmp 0x433bb1
cmp bl, 3
jne 0x433464
mov edi, dword [esp + 0x10d34]
xor eax, eax
mov word [esp + 0x120], ax
xor cl, cl
mov dword [esp + 0x10d44], eax
jmp 0x433bb1
mov ebp, dword [esp + 0x10d34]
push 6
push 0x50b6bc
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
mov eax, dword [0x51b98c]
jne 0x43349a
cmp dword [eax + 0xb4], 0
mov ecx, 0xc1
mov edx, 0x41
cmovne ecx, edx
jmp 0x4334e0
cmp dword [eax + 0xb4], 0
je 0x433b21
push 5
push 0x50b6cc
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x4334c3
lea ecx, [eax + 0x42]
lea eax, [ecx - 0x38]
jmp 0x4334e5
push 6
push 0x504544
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x433b21
mov ecx, 0x62
mov eax, 0xc
lea edi, [eax + ebp]
mov dword [esp + 0x20], ecx
movzx eax, word [edi]
test ax, ax
je 0x433aad
cmp eax, 0x20
je 0x433506
cmp eax, 9
jne 0x433b21
cmp ax, 0x20
je 0x433512
cmp ax, 9
jne 0x43351b
movzx eax, word [edi + 2]
add edi, 2
jmp 0x433506
test ax, ax
je 0x433aad
movzx esi, word [edi + 2]
xor eax, eax
xor edx, edx
mov word [edi + 2], ax
mov ecx, edi
call fcn.004b4920
mov word [edi + 2], si
test eax, eax
je 0x433b1d
mov edx, dword [esp + 0x18]
cmp byte [edx + 0x24], 0
je 0x4335a5
mov eax, dword [0x51b98c]
mov ecx, dword [eax + 0xb4]
cmp byte [ecx + 0x50], 0
jne 0x4335a5
mov ebp, dword [esp + 0x20]
cmp ebp, 0x62
je 0x433572
cmp ebp, 0x42
setne al
add al, 0x41
mov byte [ecx + 0x50], al
mov eax, dword [edx + 0x614]
test eax, eax
je 0x43360c
mov al, byte [eax]
cmp al, 9
jb 0x43358a
cmp al, 0x20
jbe 0x43359e
cmp al, 0x21
je 0x43359e
cmp al, 0x69
jb 0x433596
cmp al, 0x6b
jbe 0x43359e
cmp al, 0x71
jb 0x43360c
cmp al, 0x73
ja 0x43360c
mov byte [esp + 0x1f], 1
jmp 0x433611
mov eax, dword [0x51b98c]
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x433572
movzx eax, byte [eax + 0x50]
mov ebp, dword [esp + 0x20]
cmp ebp, eax
jne 0x433572
cmp ebp, 0x41
jne 0x4335e6
mov edi, dword [esp + 0x10d34]
mov ecx, edx
push edi
push 0x50b6d8
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp ebp, 0x42
jne 0x433572
mov edi, dword [esp + 0x10d34]
mov ecx, edx
push edi
push 0x50b748
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov byte [esp + 0x1f], 0
movzx eax, word [edi]
mov byte [esp + 0x1e], 0
test ax, ax
je 0x433ad3
mov esi, edi
movzx ebx, ax
nop word [eax + eax]
mov ecx, 0x50b7b8
mov edx, 0x2c
nop word [eax + eax]
cmp bx, dx
je 0x433678
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x433640
movzx eax, word [esi + 2]
add esi, 2
mov ebx, eax
test ax, ax
jne 0x433630
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433666
sub ecx, edx
sar ecx, 1
lea esi, [edi + ecx*2]
mov eax, dword [0x51b98c]
mov ebp, esi
sub ebp, edi
sar ebp, 1
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x433768
xor ebx, ebx
cmp dword [eax + 0x10], ebx
jle 0x4336da
xor ecx, ecx
mov dword [esp + 0x30], ecx
nop
mov eax, dword [eax + 0xc]
push 0xffffffffffffffff
push ebp
mov edx, dword [eax + ecx]
mov ecx, edi
mov edx, dword [edx + 0x18]
call fcn.004af7f0
add esp, 8
test eax, eax
je 0x4339e9
mov eax, dword [0x51b98c]
inc ebx
mov ecx, dword [esp + 0x30]
add ecx, 0x10
mov dword [esp + 0x30], ecx
mov eax, dword [eax + 0xb4]
cmp ebx, dword [eax + 0x10]
jl 0x4336a0
mov ecx, dword [esp + 0x18]
push 0
push 2
push 0
push ebp
push edi
call fcn.0043efd0
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x43371a
movzx ecx, byte [eax + 0x16]
xor ecx, ebx
test ecx, 0xffffffbf
jne 0x433a05
cmp ebx, 0x62
je 0x433a05
mov dword [esp + 0x3c], 0
cmp ebx, 0x41
je 0x43376c
mov eax, dword [0x51b98c]
xor ebx, ebx
mov eax, dword [eax + 0xb4]
cmp dword [eax + 0x30], ebx
jle 0x43375c
mov eax, dword [eax + 0x1c]
mov edx, edi
push ebp
push 0xffffffffffffffff
mov ecx, dword [eax + ebx*4]
mov ecx, dword [ecx + 0x18]
call fcn.004af7f0
add esp, 8
test eax, eax
mov eax, dword [0x51b98c]
mov eax, dword [eax + 0xb4]
je 0x4337a6
inc ebx
cmp ebx, dword [eax + 0x30]
jl 0x433731
mov eax, dword [esp + 0x3c]
test eax, eax
jne 0x433a05
mov ebx, dword [esp + 0x20]
cmp word [edi], 0
je 0x433a82
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0x4b]
push eax
push ebx
lea eax, [esp + 0x54]
push eax
push ebp
push edi
call fcn.0043efd0
mov ebx, eax
test ebx, ebx
jne 0x4337d2
mov eax, dword [esp + 0x20]
cmp byte [esp + 0x4b], bl
je 0x4337ae
mov ecx, eax
and ecx, 0x20
or ecx, 2
jmp 0x4337b3
mov eax, dword [eax + 0x1c]
mov eax, dword [eax + ebx*4]
jmp 0x433760
mov ecx, 1
and eax, 0xfffffffc
or eax, ecx
mov ecx, dword [esp + 0x18]
push eax
push dword [esp + 0x50]
push ebp
push edi
call fcn.0043f510
mov ebx, eax
test ebx, ebx
je 0x433a82
mov al, byte [ebx + 0x17]
test al, al
jne 0x4337df
mov eax, dword [ebx + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x433a91
push 0xffffffffffffffff
push ebp
mov edx, 0x50a958
mov ecx, edi
call fcn.004af7f0
add esp, 8
test eax, eax
je 0x433a91
mov ebp, dword [esp + 0x20]
cmp ebp, 0x41
jne 0x433836
mov ecx, dword [0x51b98c]
mov eax, dword [ecx + 0xb4]
mov edx, dword [eax + 0x30]
cmp edx, 0x7d0
jge 0x433a2e
mov eax, dword [eax + 0x1c]
mov dword [eax + edx*4], ebx
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x30]
jmp 0x433842
cmp ebp, 0xc1
jne 0x433842
mov byte [ebx + 0x16], 0xc1
movzx eax, word [esi]
cmp eax, 0x20
je 0x43384f
cmp eax, 9
jne 0x433854
add esi, 2
jmp 0x433842
cmp eax, 0x3d
ja case.0x433860.1
movzx eax, byte [eax + 0x435684]
jmp dword [eax*4 + 0x435670]
lea edi, [esi + 2]
nop word [eax + eax]
movzx eax, word [edi]
cmp eax, 0x20
je 0x433881
cmp eax, 9
jne 0x4339d6
add edi, 2
jmp 0x433870
mov edi, esi
jmp 0x4339d6
cmp word [esi + 2], 0x3d
jne 0x433a4a
add esi, 4
mov byte [esp + 0x17], 0
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.004b1a50
add esp, 8
lea ebx, [esi + eax*2]
lea esi, [ebx - 2]
cmp esi, edi
jbe 0x4338d4
nop dword [eax]
movzx eax, word [esi]
cmp eax, 0x20
je 0x4338cd
cmp eax, 9
jne 0x4338d4
sub esi, 2
cmp esi, edi
ja 0x4338c0
movzx eax, word [esi + 2]
mov dword [esp + 0x30], eax
xor eax, eax
mov word [esi + 2], ax
cmp byte [esp + 0x17], al
je 0x43392b
lea ecx, [esp + 0x8d28]
sub ecx, edi
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [ecx + edi - 2], ax
test ax, ax
jne 0x4338f1
push 0
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x50451c
mov edx, 0x504518
lea ecx, [esp + 0x8d40]
call fcn.004aff30
add esp, 0x18
lea edi, [esp + 0x8d28]
cmp ebp, 0x62
jne 0x433947
mov eax, dword [esp + 0x18]
mov byte [eax + 0x25], 1
jmp 0x433973
add esi, 2
mov byte [esp + 0x17], 1
jmp 0x4338a0
cmp byte [esp + 0x1f], 0
je 0x433973
cmp byte [esp + 0x1e], 0
jne 0x433973
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0x77
call fcn.00435b40
test eax, eax
je 0x433a82
mov byte [esp + 0x1e], 1
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov edi, dword [esp + 0x34]
mov ecx, edi
call fcn.004333e0
test eax, eax
je 0x433a82
cmp ebp, 0x62
jne 0x4339b1
mov ecx, dword [edi + 0x614]
mov byte [edi + 0x25], 0
movzx eax, byte [ecx]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 0x614]
mov byte [eax], 8
mov eax, dword [esp + 0x30]
mov word [esi + 2], ax
cmp word [ebx], 0x2c
jne 0x4339d4
lea edi, [ebx + 2]
movzx eax, word [edi]
cmp eax, 0x20
je 0x4339cf
cmp eax, 9
jne 0x4339d6
add edi, 2
jmp 0x4339c2
mov edi, ebx
movzx eax, word [edi]
mov ecx, eax
test ax, ax
je 0x433a66
jmp 0x433622
mov ecx, dword [esp + 0x18]
push edi
push 0x50b7c8
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
test byte [eax + 0x16], 0x40
mov ecx, 0x50b840
mov eax, 0x50b80c
cmove eax, ecx
mov ecx, dword [esp + 0x18]
push edi
push eax
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
push edi
push 0x50b8ec
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
push edi
push 0x50af38
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp byte [esp + 0x1e], 0
je 0x433ad3
mov ecx, dword [esp + 0x18]
push 0
push 0
push 0
push 0x78
call fcn.00435b40
test eax, eax
jne 0x433ad3
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
push edi
push 0x50b898
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp byte [esi + 0x24], 0
je 0x433b03
mov eax, dword [0x51b98c]
mov eax, dword [eax + 0xb4]
mov dl, byte [eax + 0x50]
test dl, dl
jne 0x433ae5
cmp ecx, 0x42
mov edx, 0x46
cmove ecx, edx
mov byte [eax + 0x50], cl
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp dl, 0x46
jne 0x433b03
cmp ecx, 0x62
jne 0x433b03
mov byte [eax + 0x50], 0x66
lea eax, [ecx - 0x61]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
push ebp
push 0x50af38
mov ecx, esi
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov esi, dword [esp + 0x18]
push 1
push ebp
lea eax, [esp + 0x128]
mov ecx, esi
push eax
call fcn.00435930
mov dword [esp + 0x10d44], eax
test eax, eax
je 0x433a82
lea ecx, [eax + 2]
mov edi, ecx
movzx eax, word [edi]
cmp eax, 0x20
je 0x433b54
cmp eax, 9
jne 0x433b59
add edi, 2
jmp 0x433b47
movzx eax, word [ecx]
cmp ax, word [0x51cbe0]
je 0x433baf
test ax, ax
je 0x433baf
cmp eax, 0x20
je 0x433baf
cmp eax, 9
je 0x433baf
cmp eax, 0x28
jne 0x433bab
lea eax, [esp + 0x120]
push 0x50a9e4
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x433baf
lea eax, [esp + 0x120]
push 0x50a9ec
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x433baf
xor cl, cl
jmp 0x433bb1
mov cl, 1
mov ax, word [edi]
mov esi, 0x20
cmp ax, word [0x51cbe0]
mov al, byte [esp + 0x10d3c]
mov byte [esp + 0x1f], cl
mov byte [esp + 0x17], 0
mov dword [esp + 0x28], eax
jne 0x433bfd
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x433bd6
cmp eax, 9
je 0x433bd6
mov ebp, 0x31
test bl, bl
jne 0x433d91
mov eax, dword [esp + 0x28]
jmp 0x4344ae
test bl, bl
jne 0x433d91
test al, al
jne 0x4344a9
test cl, cl
je 0x434121
lea eax, [esp + 0x120]
push 0x50a9e4
push eax
call fcn.004ce516
add esp, 8
test eax, eax
jne 0x434121
movzx ecx, word [edi]
cmp ecx, 0x28
je case.0x433d74.34
cmp cx, word [0x51cbdc]
jne 0x433c5d
movzx eax, word [edi + 2]
cmp eax, 0x20
je case.0x433d74.34
cmp eax, 9
je case.0x433d74.34
mov ax, word [0x51cbe0]
mov word [esp + 0x54], si
mov esi, edi
mov word [esp + 0x56], ax
mov dword [esp + 0x58], 0x90028
mov dword [esp + 0x5c], 0x3e003c
mov dword [esp + 0x60], 0x3d003a
mov dword [esp + 0x64], 0x2d002b
mov dword [esp + 0x68], 0x2f002a
mov dword [esp + 0x6c], 0x7e0021
mov dword [esp + 0x70], 0x7c0026
mov dword [esp + 0x74], 0x5b005e
mov dword [esp + 0x78], 0x3f002e
mov dword [esp + 0x7c], 0x7b
test cx, cx
je 0x433d01
mov ebp, ecx
nop word [eax + eax]
lea ecx, [esp + 0x54]
mov edx, 0x20
nop dword [eax]
cmp bp, dx
je 0x433d46
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x433ce0
movzx eax, word [esi + 2]
add esi, 2
mov ebp, eax
test ax, ax
jne 0x433cd0
mov ecx, edi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x433d06
sub ecx, edx
sar ecx, 1
lea esi, [edi + ecx*2]
push 3
push 0x506a84
push edi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x433d58
movzx eax, word [edi + 6]
push eax
lea eax, [esp + 0x58]
push eax
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x433d58
mov cl, 1
jmp 0x433d5a
movzx eax, word [esi]
cmp eax, 0x20
je 0x433d53
cmp eax, 9
jne 0x433d18
add esi, 2
jmp 0x433d46
xor cl, cl
movzx eax, word [esi]
add eax, 0xffffffdf
mov byte [esp + 0x1e], cl
cmp eax, 0x4d
ja case.0x433d74.34
movzx eax, byte [eax + 0x4356e8]
jmp dword [eax*4 + 0x4356c4]
mov bl, 0x12
mov ax, word [0x51cbe0]
mov byte [esp + 0x10d38], bl
mov dword [esp + 0x10], ebx
mov word [esi], ax
mov esi, dword [esp + 0x10d34]
movzx ecx, bl
mov dword [esp + 0x24], 0
mov dword [esp + 0x4c], ecx
lea eax, [ecx - 0x21]
cmp eax, 0x55
ja case.0x433dba.34
movzx eax, byte [eax + 0x435748]
jmp dword [eax*4 + 0x435738]
movzx eax, word [esi + 2]
sub eax, 0x3d
je 0x433dd3
sub eax, 1
je 0x433e03
mov bl, 0x16
jmp 0x433d7d
mov eax, 0x20
mov bl, 0x17
mov word [esi + 2], ax
jmp 0x433d7d
cmp word [esi + 2], 0x3d
jne 0x433df4
mov eax, 0x20
mov bl, 0x15
mov word [esi + 2], ax
jmp 0x433d7d
mov bl, 0x14
jmp 0x433d7d
cmp word [esi + 2], 0x3d
jne case.0x433d74.34
mov eax, 0x20
mov bl, 0x13
mov word [esi + 2], ax
jmp 0x433d7d
test cl, cl
jne case.0x433d74.34
push 7
push 0x5045b4
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne case.0x433d74.34
mov eax, 0x200020
mov bl, 0xf
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov word [esi + 0xc], ax
mov ax, word [0x51cbe0]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
mov word [esi], ax
jmp 0x433f51
test cl, cl
jne case.0x433d74.34
push 8
push 0x50456c
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne case.0x433d74.34
movaps xmm0, xmmword [0x514b50]
mov bl, 0xb
movups xmmword [esi], xmm0
jmp 0x433d7d
movzx ebx, word [esi + 2]
test ebx, 0xffffff80
je 0x433ea0
xor eax, eax
jmp 0x433eab
push 2
push ebx
call fcn.004d4154
add esp, 8
mov ecx, ebx
and ecx, 0xffffffdf
test eax, eax
cmove ecx, ebx
add ecx, 0xffffffb2
cmp ecx, 0x25
ja case.0x433d74.34
movzx eax, byte [ecx + 0x4357ac]
jmp dword [eax*4 + 0x4357a0]
cmp byte [esp + 0x1e], 0
jne case.0x433d74.34
lea ebp, [esi + 4]
nop dword [eax]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x433eee
cmp eax, 9
jne 0x433ef3
add ebp, 2
jmp 0x433ee0
push 3
push 0x50b91c
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
je 0x433f0b
mov bl, 0xd
jmp 0x433f19
mov eax, 0x200020
mov bl, 0xe
mov dword [ebp], eax
mov word [ebp + 4], ax
mov eax, 0x20
mov byte [esp + 0x10d38], bl
mov dword [esp + 0x10], ebx
mov word [esi + 2], ax
mov ax, word [0x51cbe0]
mov cl, bl
mov word [esi], ax
cmp bl, 0xf
je 0x433f51
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
cmp cl, 0x10
jne 0x433be7
mov edx, 0x50ab04
mov ecx, esi
call fcn.004afb20
mov esi, eax
test esi, esi
je 0x433fa6
movzx ecx, word [esi - 2]
push ecx
push 0x506dbc
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x433f93
movzx eax, word [esi + 6]
push eax
push 0x506dbc
call fcn.004cbd94
add esp, 8
test eax, eax
jne 0x4340c0
lea ecx, [esi + 6]
mov edx, 0x50ab04
call fcn.004afb20
mov esi, eax
test esi, esi
jne 0x433f63
mov edi, dword [esp + 0x10d34]
mov ecx, dword [esp + 0x18]
push edi
push 0x50b924
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp byte [esp + 0x1e], 0
jne case.0x433d74.34
mov eax, 0x20
mov bl, 9
mov word [esi + 2], ax
jmp 0x433d7d
push 3
push 0x50b91c
push esi
call fcn.004cff45
add esp, 0xc
test eax, eax
jne case.0x433d74.34
movzx eax, word [esi + 6]
lea ebp, [esi + 6]
cmp eax, 0x20
je 0x434011
cmp eax, 9
jne case.0x433d74.34
mov eax, 0x200020
mov dword [esi], eax
mov word [esi + 4], ax
nop dword [eax]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x43402e
cmp eax, 9
jne 0x434033
add ebp, 2
jmp 0x434020
push 2
push 0x504554
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x434055
mov bl, 0xa
mov dword [ebp], 0x200020
jmp 0x433d7d
push 7
push 0x5045b4
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x434096
mov eax, 0x200020
mov bl, 0x10
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov word [ebp + 0xc], ax
mov ax, word [0x51cbe0]
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
mov word [esi], ax
jmp 0x433f51
push 8
push 0x50456c
push ebp
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x433f2d
movaps xmm0, xmmword [0x514b50]
mov bl, 0xc
movups xmmword [ebp], xmm0
jmp 0x433d7d
mov ax, word [0x51cbe0]
mov word [esi], ax
mov dword [esi + 2], 0x200020
jmp 0x433be7
mov ecx, edi
mov bl, 0x11
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4340e7
sub ecx, edx
sar ecx, 1
lea edx, [ecx - 1]
cmp word [edi + edx*2], 0x7b
lea edx, [edi + edx*2]
jne 0x433d91
xor eax, eax
mov ecx, edi
mov word [edx], ax
sub edx, edi
sar edx, 1
call fcn.004298c0
mov byte [esp + 0x17], 1
jmp 0x433d91
movzx eax, word [edi + 2]
lea ebp, [edi + 2]
movzx ecx, word [edi]
mov esi, eax
mov edx, eax
lea eax, [ecx - 0x26]
cmp eax, 0x56
ja case.0x434142.39
movzx eax, byte [eax + 0x4357fc]
jmp dword [eax*4 + 0x4357d4]
mov ax, word [0x51cbe0]
mov bl, 1
mov word [edi], ax
mov ebp, 0x31
mov edi, dword [esp + 0x10d34]
mov byte [esp + 0x10d38], bl
mov dword [esp + 0x10], ebx
jmp 0x433bec
mov ecx, 2
jmp 0x4342d2
cmp word [esp + 0x120], 0x2b
jne 0x434196
cmp word [esp + 0x122], 0
jne 0x434196
mov al, 1
mov bl, 4
jmp 0x4341cc
xor al, al
cmp edx, 0x3d
jne case.0x434142.39
mov bl, 4
jmp 0x4341cc
cmp word [esp + 0x120], 0x2d
jne 0x4341bf
cmp word [esp + 0x122], 0
jne 0x4341bf
mov al, 1
jmp 0x4341ca
xor al, al
cmp edx, 0x3d
jne case.0x434142.39
mov bl, 5
mov byte [esp + 0x10d38], bl
mov dword [esp + 0x10], ebx
test al, al
je 0x4342f0
mov eax, esi
movzx eax, ax
cmp eax, 0x20
je 0x4341ee
cmp eax, 9
jne 0x4341f7
movzx eax, word [ebp + 2]
add ebp, 2
jmp 0x4341e1
mov edi, ebp
test ax, ax
je 0x434235
mov esi, eax
mov ecx, 0x50b980
mov edx, 0x20
nop word [eax + eax]
cmp si, dx
je 0x434505
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x434210
movzx eax, word [edi + 2]
add edi, 2
mov esi, eax
test ax, ax
jne 0x434200
mov esi, ebp
lea ecx, [esi + 2]
nop word [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x434240
mov edi, dword [esp + 0x10d34]
sub esi, ecx
sar esi, 1
lea eax, [esi*2 + 2]
push eax
push ebp
push edi
call fcn.004cc730
mov ax, word [0x51cbe0]
mov ebp, 0x31
mov word [edi + esi*2], ax
add esp, 0xc
mov dword [edi + esi*2 + 2], ebp
jmp 0x433bec
mov ecx, 6
jmp 0x4342d2
cmp edx, 0x3d
jne 0x43429b
mov bl, 7
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
jmp 0x434302
cmp edx, 0x2f
jne case.0x434142.39
cmp word [edi + 4], 0x3d
mov ebp, 0x31
jne 0x433bf4
mov edi, dword [esp + 0x10d34]
mov bl, 3
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
jmp 0x433bec
mov ecx, 3
cmp edx, 0x3d
movzx eax, bl
cmovne ecx, eax
mov bl, cl
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
test bl, bl
je case.0x434142.39
cmp bl, 3
je 0x434512
cmp bl, 1
je 0x434391
mov dx, word [0x51cbe0]
mov ecx, edi
push 0
push 2
call fcn.004b1a50
add esp, 8
cmp word [edi + eax*2], 0
lea esi, [edi + eax*2]
je 0x434391
cmp bl, 4
je 0x43432f
cmp bl, 5
jne 0x434505
movzx eax, word [esi + 2]
add esi, 2
cmp eax, 0x20
je 0x43432f
cmp eax, 9
je 0x43432f
test ax, ax
je 0x434388
mov ebp, eax
nop word [eax + eax]
mov ecx, 0x50b980
mov edx, 0x20
nop word [eax + eax]
cmp bp, dx
je 0x434505
movzx eax, word [ecx + 2]
add ecx, 2
mov edx, eax
test ax, ax
jne 0x434360
movzx eax, word [esi + 2]
add esi, 2
mov ebp, eax
test ax, ax
jne 0x434350
lea ebp, [edi + 2]
cmp bl, 3
je 0x434512
mov ax, word [0x51cbe0]
mov word [edi], ax
cmp bl, 1
je 0x434512
mov edi, dword [esp + 0x10d34]
mov eax, 0x20
mov word [ebp], ax
lea ebp, [eax + 0x11]
jmp 0x433bec
cmp dx, cx
jmp 0x43429e
cmp edx, 0x3d
je 0x434505
nop dword [eax]
mov esi, ebp
movzx eax, word [esi]
mov ecx, eax
test ecx, 0xffffff80
je 0x4343e1
jmp 0x4343f6
push 0x107
push ecx
call fcn.004d4154
movzx ecx, word [esi]
add esp, 8
test eax, eax
jne 0x434402
cmp cx, 0x5f
je 0x434402
cmp cx, 0x7f
jbe 0x434407
add esi, 2
jmp 0x4343d2
cmp cx, 0x28
je 0x434505
cmp esi, ebp
je case.0x434142.39
movzx eax, cx
nop dword [eax]
cmp ax, 0x20
je 0x43442c
cmp ax, 9
jne 0x434435
movzx eax, word [esi + 2]
add esi, 2
jmp 0x434420
cmp ax, 0x5b
je 0x434505
test ax, ax
je 0x434505
cmp word [esi + 2], 0x3d
lea ebp, [esi + 2]
jne 0x434468
push eax
push 0x50b964
call fcn.004cbd94
add esp, 8
test eax, eax
jne 0x434505
movzx eax, word [esi]
mov ecx, eax
cmp word [ebp], ax
jne 0x43449b
push eax
push 0x50b978
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x43448c
cmp word [esi + 4], 0x3d
je 0x434505
movzx eax, word [esi]
cmp eax, 0x2b
je 0x434505
mov ecx, eax
cmp eax, 0x2d
je 0x434505
cmp cx, 0x2e
je 0x4343d0
mov eax, dword [esp + 0x28]
mov ebp, 0x31
cmp byte [esp + 0x1f], 0
je 0x43456c
test al, al
jne 0x43456c
mov ebx, 0x18
mov esi, 0x51bf88
mov dword [esp + 0x10], ebx
nop
push dword [esi]
lea eax, [esp + 0x124]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x434523
inc ebx
add esi, 0xe
mov dword [esp + 0x10], ebx
cmp esi, 0x51cacc
jl 0x4344d0
xor bl, bl
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
jmp 0x434532
mov bl, 3
mov byte [esp + 0x10d38], bl
mov dword [esp + 0x10], ebx
mov edi, dword [esp + 0x10d34]
mov ebp, 0x31
jmp 0x433bec
mov byte [esp + 0x10d38], bl
test bl, bl
jne 0x433d91
mov dword [esp + 0x28], 1
mov esi, 0x51bd7e
nop
push dword [esi]
lea eax, [esp + 0x124]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x434574
inc dword [esp + 0x28]
add esi, 0xe
cmp esi, 0x51be34
jl 0x434540
mov byte [esp + 0x28], 0
jmp 0x43457f
test bl, bl
jne 0x433d91
cmp byte [esp + 0x28], 0
jne 0x433d91
movzx eax, word [edi]
cmp eax, 0x7b
jne 0x434661
mov ebx, 0x18
mov esi, 0x51bf88
mov dword [esp + 0x3c], ebx
nop dword [eax]
push dword [esi]
lea eax, [esp + 0x124]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x4345cc
inc ebx
add esi, 0xe
mov dword [esp + 0x3c], ebx
cmp esi, 0x51cacc
jl 0x4345a0
xor bl, bl
mov dword [esp + 0x3c], ebx
movzx eax, bl
add eax, 0xffffffdf
cmp eax, 0x52
ja case.0x4345de.34
movzx eax, byte [eax + 0x435860]
jmp dword [eax*4 + 0x435854]
cmp word [edi + 2], 0
mov byte [esp + 0x17], 1
jne case.0x4345de.34
cmp byte [esp + 0x3c], 0
mov dword [esp + 0x10], ebx
mov byte [esp + 0x10d38], bl
jne 0x433d91
movzx eax, word [edi]
push eax
push 0x50b980
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x43473f
movzx eax, word [edi]
cmp eax, 0x2b
je 0x434631
cmp eax, 0x2d
jne 0x434701
cmp word [edi + 2], ax
jne 0x434701
cmp word [edi + 4], 0
je 0x4346d2
mov esi, dword [esp + 0x10d34]
mov bl, 3
mov byte [esp + 0x10d38], bl
mov edi, esi
mov dword [esp + 0x10], ebx
jmp 0x433d98
cmp eax, 0x3a
jne case.0x4345de.34
lea eax, [esp + 0x120]
push 0x508adc
push eax
call fcn.004ce516
add esp, 8
test eax, eax
jne case.0x4345de.34
mov ebx, dword [esp + 0x18]
mov ecx, ebx
push eax
push eax
push eax
push 0x76
call fcn.00435b40
test eax, eax
je 0x433a82
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x434697
cmp eax, 9
je 0x434697
test ax, ax
je 0x433ad3
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov ecx, ebx
call fcn.004333e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov esi, dword [esp + 0x10d34]
cmp eax, 0x2b
mov ax, word [0x51cbe0]
setne bl
mov word [edi], ax
add bl, 4
mov word [edi + 2], bp
mov byte [esp + 0x10d38], bl
mov edi, esi
mov dword [esp + 0x10], ebx
jmp 0x433d98
cmp eax, 0x3f
je 0x434724
push 0x3f
push edi
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x43473f
push 0x3a
push eax
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x43473f
mov esi, dword [esp + 0x10d34]
mov bl, 3
mov dword [esp + 0x10], ebx
mov edi, esi
mov byte [esp + 0x10d38], bl
jmp 0x433d98
movzx eax, word [edi]
cmp eax, 0x28
je 0x434724
cmp eax, 0x5b
je 0x434724
mov ebx, dword [esp + 0x10d34]
cmp word [ebx], 0x28
je 0x434724
push 3
push 0x50b9b4
push ebx
call fcn.004cff45
add esp, 0xc
test eax, eax
jne 0x43477b
movzx eax, word [ebx + 6]
cmp eax, 0x20
je 0x434724
cmp eax, 9
je 0x434724
push 0x50ab44
push ebx
call fcn.004cc1fb
add esp, 8
mov edx, 0x50af38
test eax, eax
mov ecx, 0x50b9bc
cmove ecx, edx
push ebx
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
cmp word [edi], 0x7b
jne case.0x433dba.34
movzx eax, word [edi]
mov ecx, eax
cmp eax, 0x7b
jne 0x4347dc
mov byte [esp + 0x17], 1
movzx eax, word [edi + 2]
add edi, 2
cmp eax, 0x20
je 0x4347c9
cmp eax, 9
je 0x4347c9
mov ecx, eax
test cx, cx
mov ecx, dword [esp + 0x4c]
je case.0x433dba.34
mov dword [esp + 0x24], edi
sub edi, 2
xor eax, eax
mov word [edi], ax
jmp case.0x433dba.34
push ecx
push 0
mov edx, 0x3a
mov ecx, edi
call fcn.004b1b70
add esp, 8
cmp word [edi + eax*2], 0
lea edx, [edi + eax*2]
jne 0x434832
mov ecx, dword [esp + 0x18]
push esi
push 0x50b9dc
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
xor eax, eax
mov word [edx], ax
cmp word [edi], ax
je 0x434883
mov ecx, edi
lea esi, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434841
sub ecx, esi
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [edi + eax*2]
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x434863
cmp ecx, 9
jne 0x43486c
cmp eax, edi
je 0x434874
sub eax, 2
jmp 0x434856
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x434883
cmp ecx, 0x20
je 0x43487e
cmp ecx, 9
jne 0x434883
xor ecx, ecx
mov word [eax], cx
lea ecx, [edx + 2]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x434893
cmp eax, 9
jne 0x434898
add ecx, 2
jmp 0x434886
xor edx, edx
test ax, ax
cmove ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x4c]
test bl, bl
je 0x4348c2
lea eax, [ecx*8]
sub eax, ecx
lea ebp, [eax*2 + 0x51be38]
mov dword [esp + 0x3c], ebp
jmp 0x4348dd
mov eax, dword [esp + 0x28]
movzx ecx, al
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x51bd70]
mov dword [esp + 0x3c], eax
push 0x8002
lea eax, [esp + 0xd24]
push 0
push eax
call fcn.004cc590
mov edx, dword [esp + 0x10d54]
add esp, 0xc
test edx, edx
je 0x434937
mov eax, dword [esp + 0x10d4c]
mov ecx, edi
sub ecx, dword [esp + 0x10d44]
sar ecx, 1
sub eax, ecx
test eax, eax
jle 0x434a00
add eax, eax
push eax
lea eax, [edx + ecx*2]
push eax
lea eax, [esp + 0xd28]
push eax
call fcn.004cc730
add esp, 0xc
jmp 0x434a00
xor esi, esi
lea ebx, [esi + 7]
movzx eax, word [edi + esi*2]
mov dx, word [0x51cbd8]
mov ecx, eax
test ax, ax
je 0x434962
nop
cmp cx, dx
je 0x434962
movzx eax, word [edi + esi*2 + 2]
inc esi
mov ecx, eax
test ax, ax
jne 0x434950
cmp word [edi + esi*2], 0
lea ebp, [edi + esi*2]
je 0x4349fc
movzx eax, word [ebp + 2]
lea edx, [ebp + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x434986.99
movzx eax, byte [eax + 0x4358d4]
jmp dword [eax*4 + 0x4358b4]
mov word [edx], bx
jmp case.0x434986.99
mov eax, 8
jmp 0x4349ba
mov eax, 0xc
jmp 0x4349ba
mov eax, 0xa
jmp 0x4349ba
mov eax, 0xd
jmp 0x4349ba
mov eax, 9
jmp 0x4349ba
mov eax, 0xb
mov word [edx], ax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x30], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4349c6
sub ecx, dword [esp + 0x30]
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
push edx
push ebp
call fcn.004cc730
mov eax, 1
add esp, 0xc
mov word [esp + esi*2 + 0xd20], ax
inc esi
jmp 0x43493c
mov ebx, dword [esp + 0x10]
cmp bl, 0x22
jne 0x434b9c
xor ebx, ebx
mov ecx, 1
mov dword [esp + 0x38], ecx
cmp word [edi], bx
je 0x434c9b
nop dword [eax]
cmp ecx, 1
lea esi, [ebx + 1]
cmovle esi, ebx
nop dword [eax]
movzx eax, word [edi + esi*2]
lea ebp, [edi + esi*2]
mov edx, eax
cmp eax, 0x20
je 0x434a43
cmp eax, 9
jne 0x434a46
inc esi
jmp 0x434a30
cmp ax, word [0x51cbdc]
jne 0x434a9a
cmp word [esp + esi*2 + 0xd20], 0
jne 0x434a9a
movzx ebx, word [edi + esi*2 + 2]
cmp ebx, 0x20
je 0x434a69
cmp ebx, 9
jne 0x434a9a
cmp ecx, 3
jge 0x434c9b
mov dx, word [0x51cbe0]
lea eax, [esp + 0xd20]
push eax
lea eax, [esi + 2]
mov ecx, edi
push eax
call fcn.004b1a50
mov ecx, dword [esp + 0x40]
add esp, 8
mov ebx, eax
jmp 0x434b0a
lea ecx, [esi + esi]
mov ebx, esi
test ax, ax
je 0x434ac7
cmp dx, word [0x51cbe0]
jne 0x434ab8
cmp word [esp + ecx + 0xd20], 0
je 0x434ac7
inc ebx
lea ecx, [ebx + ebx]
movzx eax, word [ecx + edi]
mov edx, eax
test ax, ax
jne 0x434aa4
mov ecx, dword [esp + 0x38]
cmp ecx, 1
jne 0x434b05
cmp word [edi + ebx*2], 0
lea esi, [edi + ebx*2]
je 0x434c9b
xor eax, eax
xor edx, edx
push eax
push eax
push ecx
mov ecx, ebp
mov word [esi], ax
call fcn.004af560
add esp, 0xc
test eax, eax
mov ax, word [0x51cbe0]
mov word [esi], ax
je 0x434b1f
mov ecx, dword [esp + 0x38]
jmp 0x434b0a
cmp ecx, 4
je 0x434b29
inc ecx
cmp word [edi + ebx*2], 0
mov dword [esp + 0x38], ecx
jne 0x434a20
jmp 0x434c9b
mov ecx, 1
jmp 0x434ca3
push 0
push 1
push 1
xor edx, edx
mov ecx, ebp
call fcn.004af560
add esp, 0xc
test eax, eax
jne 0x434c9b
cmp word [edi + ebx*2], ax
jne 0x434b92
mov ax, word [0x51cbdc]
cmp word [edi + esi*2], ax
jne 0x434b92
cmp word [esp + esi*2 + 0xd20], 0
jne 0x434b92
movzx eax, ax
push eax
lea eax, [esi + 1]
lea eax, [edi + eax*2]
push eax
call fcn.004cbd94
add esp, 8
test eax, eax
je 0x434b92
push 0
push 1
push 1
lea ecx, [eax + 2]
xor edx, edx
call fcn.004af560
add esp, 0xc
test eax, eax
jne 0x434c9b
mov ecx, 3
jmp 0x434ca3
cmp bl, 0x6a
jne 0x434c9b
movzx eax, word [edi]
mov esi, edi
test ax, ax
je 0x434bfd
mov ecx, eax
cmp cx, 0x20
je 0x434bbd
cmp cx, 9
jne 0x434bef
movzx eax, word [esi + 2]
push eax
call fcn.004d92cb
add esp, 4
cmp eax, 0x69
jne 0x434bef
movzx eax, word [esi + 4]
push eax
call fcn.004d92cb
add esp, 4
cmp eax, 0x6e
jne 0x434bef
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x434bfd
cmp eax, 9
je 0x434bfd
movzx eax, word [esi + 2]
add esi, 2
mov ecx, eax
test ax, ax
jne 0x434bb1
cmp word [esi], 0
jne 0x434c26
mov edi, dword [esp + 0x10d34]
mov ecx, dword [esp + 0x18]
push edi
push 0x50b9f8
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, esi
mov edx, 1
sub ecx, edi
sar ecx, 1
test ecx, ecx
jle 0x434c53
nop word [eax + eax]
mov ax, word [edi + ecx*2]
cmp ax, word [0x51cbe0]
jne 0x434c4e
inc edx
dec ecx
test ecx, ecx
jg 0x434c40
mov ax, word [0x51cbe0]
mov word [esi + 2], ax
cmp edx, 1
jle 0x434c91
cmp edx, 2
jle 0x434c8a
mov edi, dword [esp + 0x10d34]
mov ecx, dword [esp + 0x18]
push edi
push 0x50ba38
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov eax, 0x20
jmp 0x434c97
mov ax, word [0x51cbe0]
mov word [esi + 4], ax
mov eax, dword [esp + 0x3c]
movsx ecx, byte [eax + 5]
lea eax, [ecx - 1]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x50], eax
xor ebp, ebp
xor al, al
mov dword [esp + 0x20], ebp
mov dword [esp + 0x34], eax
xor esi, esi
mov byte [esp + 0x38], al
mov dword [esp + 0x2c], eax
mov byte [esp + 0x47], al
xor eax, eax
mov dword [esp + 0x40], eax
cmp word [edi], ax
je 0x434f73
xor al, al
xor bl, bl
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], al
xor eax, eax
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x47], bl
mov dword [esp + 0x40], eax
cmp ebp, ecx
jge 0x434f73
cmp ebp, 2
jne 0x434de1
mov eax, dword [esp + 0x4c]
add eax, 0xffffffe8
cmp eax, 3
ja case.default.0x434d12
jmp dword [eax*4 + 0x4358ec]
mov ecx, dword [esp + 0x18]
lea eax, [edi + esi*2]
push 0
push eax
lea eax, [esp + 0x328]
push eax
call fcn.00435930
mov dword [esp + 0x40], eax
test eax, eax
je case.default.0x434d12
mov eax, 0x18
mov ebx, 0x51bf88
mov dword [esp + 0x34], eax
nop word [eax + eax]
push dword [ebx]
lea eax, [esp + 0x324]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x434d81
inc dword [esp + 0x34]
add ebx, 0xe
cmp ebx, 0x51cacc
jl 0x434d50
xor al, al
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], al
jmp 0x434d91
mov eax, dword [esp + 0x34]
mov byte [esp + 0x38], al
test al, al
jne 0x434f61
mov dword [esp + 0x2c], 1
mov ebx, 0x51bd7e
nop
push dword [ebx]
lea eax, [esp + 0x324]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x434dd1
inc dword [esp + 0x2c]
add ebx, 0xe
cmp ebx, 0x51be34
jl 0x434da0
xor cl, cl
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x47], cl
jmp 0x434de1
mov ebx, dword [esp + 0x2c]
mov byte [esp + 0x47], bl
test bl, bl
jne 0x434f61
mov edx, dword [esp + 0x20]
lea ebx, [esi + esi]
lea ecx, [esp + 0xd20]
add ecx, ebx
lea ebp, [ebx + edi]
mov dword [esp + edx*4 + 0x80], ebp
mov dword [esp + edx*4 + 0xd0], ecx
cmp edx, dword [esp + 0x50]
je 0x434f6a
mov ax, word [ebp]
cmp ax, word [0x51cbdc]
jne 0x434e2d
cmp word [ecx], 0
jne 0x434e2d
movzx eax, word [ebp + 2]
cmp eax, 0x20
je 0x434e4f
cmp eax, 9
je 0x434e4f
mov cl, byte [esp + 0x10]
lea eax, [esp + 0x80]
push 0xffffffffffffffff
push edx
mov edx, dword [esp + 0x44]
push eax
lea edx, [edx + 7]
call fcn.00435aa0
add esp, 0xc
test al, al
je 0x434e6d
mov dx, word [0x51cbe0]
lea eax, [esp + 0xd20]
push eax
push esi
mov ecx, edi
call fcn.004b1a50
add esp, 8
mov esi, eax
jmp 0x434e97
movzx eax, word [ebp]
test ax, ax
je 0x434e97
cmp ax, word [0x51cbe0]
jne 0x434e8a
cmp word [esp + ebx + 0xd20], 0
je 0x434e97
inc esi
lea ebx, [esi + esi]
movzx eax, word [ebx + edi]
test ax, ax
jne 0x434e76
cmp word [edi + esi*2], 0
je 0x434f44
xor eax, eax
mov word [edi + esi*2], ax
mov eax, dword [esp + 0x20]
mov ebp, dword [esp + eax*4 + 0x80]
mov ebx, dword [esp + eax*4 + 0xd0]
cmp word [ebp], 0
je 0x434f29
mov ecx, ebp
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x434ed0
sub ecx, edx
sar ecx, 1
lea edx, [ecx - 1]
mov ecx, dword [esp + 0x20]
lea eax, [ebx + edx*2]
mov ebx, ebp
sub ebx, dword [esp + ecx*4 + 0xd0]
movzx ecx, word [ebx + eax]
cmp ecx, 0x20
je 0x434f00
cmp ecx, 9
jne 0x434f22
cmp word [eax], 0
jne 0x434f22
test edx, edx
je 0x434f10
dec edx
sub eax, 2
jmp 0x434ef2
cmp ecx, 0x20
je 0x434f1a
cmp ecx, 9
jne 0x434f29
xor eax, eax
mov word [ebp], ax
jmp 0x434f29
xor eax, eax
mov word [ebp + edx*2 + 2], ax
movzx eax, word [edi + esi*2 + 2]
inc esi
cmp eax, 0x20
je 0x434f39
cmp eax, 9
jne 0x434f44
cmp word [esp + esi*2 + 0xd20], 0
je 0x434f29
mov ebp, dword [esp + 0x20]
inc ebp
cmp word [edi + esi*2], 0
mov dword [esp + 0x20], ebp
je 0x434f73
mov ebx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
jmp 0x434cf1
lea eax, [edi + esi*2]
mov dword [esp + 0x24], eax
jmp 0x434f73
mov ebp, dword [esp + 0x20]
inc ebp
mov dword [esp + 0x20], ebp
mov esi, dword [esp + 0x3c]
mov dl, byte [esi + 4]
movsx ecx, dl
cmp ebp, ecx
jge 0x434fd5
cmp dl, 1
mov eax, 0x50baa8
mov edi, 0x4f03e8
cmovle eax, edi
push eax
push ecx
push dword [esi]
lea eax, [esp + 0x52c]
push 0x50bab0
push 0x400
push eax
call fcn.004af740
add esp, 0x18
mov edi, dword [esp + 0x10d34]
lea eax, [esp + 0x520]
push edi
push eax
mov ecx, dword [esp + 0x20]
call fcn.0044ddc0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ebx, dword [esp + 0x10]
xor eax, eax
cmp bl, 0x76
mov edx, ebp
cmovne edx, ecx
test edx, edx
jle 0x435006
nop word [eax + eax]
lea ecx, [eax + 1]
mov eax, dword [esp + eax*4 + 0x80]
cmp word [eax], 0
je 0x435026
mov eax, ecx
cmp eax, edx
jl 0x434ff0
mov eax, dword [esp + 0x28]
test al, al
je case.default.0x43501f
movzx eax, al
dec eax
cmp eax, 0xc
ja case.default.0x43501f
jmp dword [eax*4 + 0x4358fc]
push ecx
push dword [esi]
lea eax, [esp + 0x528]
push 0x50bb00
push 0x400
push eax
call fcn.004af740
add esp, 0x14
jmp 0x434faf
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
lea eax, [ebp + 1]
mov dword [esp + ebp*4 + 0x84], 0x50bb60
push eax
lea eax, [esp + 0x88]
mov dword [esp + ebp*4 + 0xd8], 0
push eax
push 0x8d
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov esi, dword [esp + 0x84]
lea eax, [esp + 0xd0]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
push eax
push 2
lea eax, [esp + 0x88]
mov dword [esp + 0x8c], 0x50bb60
push eax
push 0x8d
mov dword [esp + 0xe4], 0
call fcn.00435b40
test eax, eax
je 0x433a82
mov eax, dword [esp + 0x8c]
mov ecx, ebx
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 0xd0], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0xdc], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0xe0]
mov dword [esp + 0xd4], eax
lea eax, [esp + 0xd0]
push eax
push 5
lea eax, [esp + 0x88]
mov dword [esp + 0x90], esi
push eax
push 0x90
mov dword [esp + 0xa0], 0x50bb60
mov dword [esp + 0xf0], 0
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
push eax
push 1
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
push eax
push 4
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
push eax
push 5
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
push eax
push 6
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
push eax
push 7
call fcn.00435b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov bl, 0x12
jmp 0x435261
mov bl, 0x13
jmp 0x435261
mov bl, 0x14
jmp 0x435261
mov bl, 0x15
jmp 0x435261
mov bl, 0x16
jmp 0x435261
mov bl, 0x17
mov byte [esp + 0x10d38], bl
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x2c]
test ebp, ebp
je 0x4352f1
test dl, dl
jne 0x4352f1
test cl, cl
jne 0x4352f1
mov al, bl
sub al, 0x12
cmp al, 0xe
ja 0x4352f1
cmp bl, 0x17
ja 0x4352a3
mov eax, dword [esp + 0x28]
sub al, 6
cmp al, 5
ja 0x4355a9
mov ebp, dword [esp + ebp*4 + 0x7c]
mov eax, ebp
sub eax, edi
sar eax, 1
lea edx, [eax + eax]
movzx ecx, word [edx + edi]
test cx, cx
je 0x4352e5
nop dword [eax]
cmp cx, word [0x51cbe0]
jne 0x4352d8
cmp word [esp + edx + 0xd20], 0
je 0x4353df
inc eax
lea edx, [eax + eax]
movzx ecx, word [edx + edi]
test cx, cx
jne 0x4352c0
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
mov ebp, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
cmp bl, 0x69
je 0x435313
mov dword [esp + 0x24], eax
mov byte [esp + 0x38], dl
mov byte [esp + 0x47], cl
mov dword [esp + 0x40], esi
cmp bl, 0x6b
jne 0x435325
cmp ebp, 1
jne 0x435325
mov eax, dword [esp + 0x80]
cmp word [eax], 0
jne 0x435364
cmp bl, 0x6a
je 0x43535c
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
mov byte [esp + 0x38], dl
mov byte [esp + 0x47], cl
mov dword [esp + 0x40], esi
cmp bl, 0x72
je 0x43535c
mov dword [esp + 0x24], eax
mov byte [esp + 0x38], dl
mov byte [esp + 0x47], cl
mov dword [esp + 0x40], esi
cmp bl, 0x75
jne 0x4355a9
test ebp, ebp
je 0x4355a9
mov esi, dword [esp + ebp*4 + 0x7c]
mov ecx, esi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x435370
sub ecx, edx
sar ecx, 1
cmp word [esi + ecx*2 - 2], 0x7b
jne 0x4355a9
xor eax, eax
mov byte [esp + 0x17], 1
mov word [esi + ecx*2 - 2], ax
cmp word [esi], ax
je 0x43558b
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x4353a5
sub ecx, edx
sar ecx, 1
lea eax, [ecx - 1]
lea eax, [esi + eax*2]
nop word [eax + eax]
movzx edx, word [eax]
cmp edx, 0x20
je 0x4353d1
cmp edx, 9
jne 0x43556e
cmp eax, esi
je 0x435576
sub eax, 2
dec ecx
jmp 0x4353c0
lea ecx, [edi + eax*2]
inc eax
mov dword [esp + 0x50], ecx
lea ecx, [edi + eax*2]
nop word [eax + eax]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x4353fd
cmp eax, 9
jne 0x435402
add ecx, 2
jmp 0x4353f0
push 0
push ecx
lea eax, [esp + 0x328]
mov dword [esp + 0x2c], ecx
mov ecx, dword [esp + 0x20]
push eax
call fcn.00435930
mov dword [esp + 0x40], eax
test eax, eax
je 0x435557
mov eax, 0x18
mov esi, 0x51bf88
mov dword [esp + 0x30], eax
push dword [esi]
lea eax, [esp + 0x324]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x435465
inc dword [esp + 0x30]
add esi, 0xe
cmp esi, 0x51cacc
jl 0x435434
xor al, al
mov dword [esp + 0x34], eax
mov byte [esp + 0x38], al
jmp 0x435479
mov edx, dword [esp + 0x30]
mov dword [esp + 0x34], edx
mov byte [esp + 0x38], dl
test dl, dl
jne 0x43552e
mov eax, 1
mov esi, 0x51bd7e
mov dword [esp + 0x30], eax
nop word [eax + eax]
push dword [esi]
lea eax, [esp + 0x324]
push eax
call fcn.004ce516
add esp, 8
test eax, eax
je 0x4354ce
inc dword [esp + 0x30]
add esi, 0xe
cmp esi, 0x51be34
jl 0x435490
mov edx, dword [esp + 0x34]
xor cl, cl
mov ebp, dword [esp + 0x20]
xor eax, eax
mov byte [esp + 0x47], cl
mov dword [esp + 0x24], eax
jmp 0x4352f5
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x2c], ecx
mov byte [esp + 0x47], cl
test cl, cl
je 0x43555b
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x50]
xor esi, esi
mov word [eax], si
cmp word [ebp], si
je 0x4352ed
mov ecx, ebp
lea edx, [ecx + 2]
nop
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x435500
sub ecx, edx
sar ecx, 1
lea eax, [ecx*2 - 2]
add eax, ebp
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x435525
cmp ecx, 9
jne 0x435534
cmp eax, ebp
je 0x43553f
sub eax, 2
jmp 0x435518
mov ecx, dword [esp + 0x2c]
jmp 0x4354e6
xor ecx, ecx
mov word [eax + 2], cx
jmp 0x4352e5
cmp ecx, 0x20
je 0x43554d
cmp ecx, 9
jne 0x4352e5
xor ecx, ecx
mov word [eax], cx
jmp 0x4352e5
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x34]
xor eax, eax
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jmp 0x4352f5
xor edx, edx
mov word [eax + 2], dx
jmp 0x435580
cmp edx, 0x20
je 0x435586
cmp edx, 9
je 0x435586
test ecx, ecx
jne 0x4355a9
jmp 0x43558b
xor ecx, ecx
mov word [eax], cx
cmp bl, 0x69
je 0x4355a7
cmp bl, 0x72
je 0x4355a7
mov edi, dword [esp + 0x10d34]
push edi
push 0x50b158
jmp 0x434fbf
xor ebp, ebp
mov esi, dword [esp + 0x18]
lea eax, [esp + 0xd0]
push eax
push ebp
lea eax, [esp + 0x88]
mov ecx, esi
push eax
push dword [esp + 0x10d44]
call fcn.00435b40
test eax, eax
je 0x433a82
cmp byte [esp + 0x17], 0
je 0x4355f2
push 0
push 0
push 0
push 0x77
mov ecx, esi
call fcn.00435b40
test eax, eax
je 0x433a82
mov ebp, dword [esp + 0x24]
test ebp, ebp
je 0x433ad3
mov ebx, dword [esp + 0x40]
test ebx, ebx
jne 0x435621
push ebx
push ebx
push ebx
push ebx
push ebx
push ebx
push ebp
mov ecx, esi
call fcn.004333e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x435626
sub ecx, edx
mov eax, ebx
sub eax, edi
sar ecx, 1
push ecx
sar eax, 1
lea ecx, [esp + 0xd24]
lea eax, [ecx + eax*2]
mov ecx, esi
push eax
push ebx
lea eax, [esp + 0x32c]
push eax
push dword [esp + 0x57]
push dword [esp + 0x4c]
push ebp
call fcn.004333e0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10d20
ret 0x1c