Function at 0x41adb0
Capabilities:
Contain obfuscated stackstrings
Parse credit card information

Disassembly:
mov eax, 0x10ce8
call fcn.00499d50
mov eax, dword [esp + 0x10cf8]
push ebx
push ebp
push esi
mov esi, dword [esp + 0x10cf8]
push edi
mov edi, ecx
mov dword [esp + 0x18], edi
test eax, eax
je 0x41ae1a
lea edx, [esp + 0xe8]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41ade0
mov eax, dword [esp + 0x10d0c]
mov ecx, eax
mov dword [esp + 0x24], ecx
test eax, eax
je 0x41ae32
lea ebp, [ecx + 2]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x41ae15
cmp eax, 9
jne 0x41b4f4
add ebp, 2
jmp 0x41ae03
cmp byte [esp + 0x10d00], 3
jne 0x41ae66
xor eax, eax
mov word [esp + 0xe8], ax
mov dword [esp + 0x24], eax
mov ebp, esi
mov byte [esp + 0x1f], 0
mov cx, word [0x4c58fc]
mov byte [esp + 0x17], 0
cmp word [ebp], cx
jne 0x41b559
movzx eax, word [ebp + 2]
add ebp, 2
cmp eax, 0x20
je 0x41ae4f
cmp eax, 9
jne 0x41bd26
jmp 0x41ae4f
push 6
push 0x4a7ef8
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41ae99
mov ecx, dword [0x4c590c]
mov ebx, dword [ecx + 0xb4]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff80
add ebx, 0xc1
mov dword [esp + 0x20], ebx
jmp 0x41aef5
mov edx, dword [0x4c590c]
cmp dword [edx + 0xb4], 0
je 0x41b4c1
push 5
push 0x4a7f08
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41aed1
mov dword [esp + 0x20], 0x42
mov ebx, dword [esp + 0x20]
lea eax, [esi + 0xa]
jmp 0x41aef8
push 6
push 0x4a47d8
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41b4c1
mov dword [esp + 0x20], 0x62
mov ebx, dword [esp + 0x20]
lea eax, [esi + 0xc]
movzx ecx, word [eax]
test cx, cx
je 0x41b44b
cmp ecx, 0x20
je 0x41af12
cmp ecx, 9
jne 0x41b4c1
mov ebp, eax
movzx eax, word [ebp]
cmp eax, 0x20
je 0x41af22
cmp eax, 9
jne 0x41af27
add ebp, 2
jmp 0x41af14
cmp word [ebp], 0
je 0x41b44b
movzx esi, word [ebp + 2]
xor eax, eax
push eax
push ebp
mov word [ebp + 2], ax
call fcn.004788e0
add esp, 8
mov word [ebp + 2], si
test eax, eax
je 0x41b4c1
mov ecx, edi
cmp byte [ecx + 0x44], 0
mov edi, dword [0x4c590c]
je 0x41afad
mov eax, dword [edi + 0xb4]
cmp byte [eax + 0x3c], 0
jne 0x41afad
cmp ebx, 0x62
je 0x41af7d
cmp ebx, 0x42
setne dl
add dl, 0x41
mov byte [eax + 0x3c], dl
mov eax, dword [ecx + 4]
test eax, eax
je 0x41b007
mov al, byte [eax]
cmp al, 9
jb 0x41af92
cmp al, 0x20
jbe 0x41afa6
cmp al, 0x21
je 0x41afa6
cmp al, 0x69
jb 0x41af9e
cmp al, 0x6b
jbe 0x41afa6
cmp al, 0x6f
jb 0x41b007
cmp al, 0x71
ja 0x41b007
mov byte [esp + 0x1f], 1
jmp 0x41b00c
mov eax, dword [edi + 0xb4]
test eax, eax
je 0x41af7d
movzx eax, byte [eax + 0x3c]
cmp ebx, eax
jne 0x41af7d
cmp ebx, 0x41
jne 0x41afe3
mov edx, dword [esp + 0x10cfc]
push edx
push 0x4a7f18
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
cmp ebx, 0x42
jne 0x41af7d
mov eax, dword [esp + 0x10cfc]
push eax
push 0x4a7f88
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov byte [esp + 0x1f], 0
cmp word [ebp], 0
mov byte [esp + 0x17], 0
je 0x41b478
lea esp, [esp]
mov ebx, 0x4a7ff8
mov eax, ebp
call fcn.004095d0
mov dword [esp + 0x28], eax
test eax, eax
jne 0x41b057
mov eax, ebp
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41b040
sub eax, edx
sar eax, 1
lea eax, [ebp + eax*2]
mov dword [esp + 0x28], eax
mov esi, eax
sub esi, ebp
sar esi, 1
cmp dword [edi + 0xb4], 0
je 0x41b149
mov eax, dword [edi + 0xb4]
xor ebx, ebx
cmp dword [eax + 0x10], ebx
jle 0x41b0b2
xor edi, edi
lea esp, [esp]
mov ecx, dword [eax + 0xc]
mov edx, dword [ecx + edi]
mov eax, dword [edx + 0x18]
push 0xffffffffffffffff
push esi
mov ecx, ebp
call fcn.00475060
add esp, 8
test eax, eax
je 0x41b38b
mov eax, dword [0x4c590c]
mov eax, dword [eax + 0xb4]
inc ebx
add edi, 0x10
cmp ebx, dword [eax + 0x10]
jl 0x41b080
mov ecx, dword [esp + 0x18]
push 0
push 2
push 0
push esi
push ebp
call fcn.00421e80
mov ebx, eax
mov eax, dword [esp + 0x20]
test ebx, ebx
je 0x41b0ea
movzx ecx, byte [ebx + 0x16]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x41b3a7
cmp eax, 0x62
je 0x41b3a7
xor ebx, ebx
cmp eax, 0x41
je 0x41b141
mov edx, dword [0x4c590c]
mov eax, dword [edx + 0xb4]
xor edi, edi
cmp dword [eax + 0x34], edi
jle 0x41b141
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + edi*4]
mov ecx, dword [ecx + 0x18]
push esi
push 0xffffffffffffffff
mov eax, ebp
call fcn.00475060
add esp, 8
test eax, eax
je 0x41b130
mov edx, dword [0x4c590c]
mov eax, dword [edx + 0xb4]
inc edi
cmp edi, dword [eax + 0x34]
jl 0x41b102
jmp 0x41b141
mov eax, dword [0x4c590c]
mov ecx, dword [eax + 0xb4]
mov edx, dword [ecx + 0x24]
mov ebx, dword [edx + edi*4]
test ebx, ebx
jne 0x41b3a7
mov ebx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
push ebx
push esi
push ebp
call fcn.00421e20
mov edi, eax
test edi, edi
je 0x41b43c
mov al, byte [edi + 0x17]
test al, al
jne 0x41b170
mov eax, dword [edi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x41b407
push 0xffffffffffffffff
push esi
mov eax, 0x4a7434
mov ecx, ebp
call fcn.00475060
add esp, 8
test eax, eax
je 0x41b407
mov ecx, dword [0x4c590c]
cmp ebx, 0x41
jne 0x41b1c6
mov edx, dword [ecx + 0xb4]
cmp dword [edx + 0x34], 0x7d0
jge 0x41b3cf
mov eax, edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x24]
mov dword [eax + edx*4], edi
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x34]
jmp 0x41b1d1
cmp ebx, 0xc1
jne 0x41b1d1
mov byte [edi + 0x16], bl
mov eax, dword [esp + 0x28]
call fcn.00409620
movzx ecx, word [eax]
cmp ecx, 0x3d
ja case.0x41b1e9.1
movzx ecx, byte [ecx + 0x41cb00]
jmp dword [ecx*4 + 0x41caec]
add eax, 2
call fcn.00409620
mov ebx, dword [esp + 0x18]
mov ebp, eax
jmp 0x41b375
cmp word [eax + 2], 0x3d
jne 0x41b3eb
add eax, 4
xor bl, bl
xor dl, dl
xor edi, edi
xor esi, esi
lea esp, [esp]
movzx ecx, word [eax + esi*2]
cmp ecx, 0x2c
jne 0x41b2c5
test dl, dl
jne case.0x41b2d1.1
test edi, edi
jg case.0x41b2d1.1
lea edi, [eax + esi*2]
lea eax, [edi - 2]
mov edx, ebp
call fcn.00409640
mov esi, eax
movzx edx, word [esi + 2]
xor eax, eax
mov dword [esp + 0x28], edx
mov word [esi + 2], ax
test bl, bl
je 0x41b2aa
lea edx, [esp + 0x8cf0]
mov eax, ebp
sub edx, ebp
lea esp, [esp]
movzx ecx, word [eax]
mov word [edx + eax], cx
add eax, 2
test cx, cx
jne 0x41b270
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x4a4808
lea ecx, [esp + 0x8d04]
push 0x4a4810
push ecx
xor eax, eax
call fcn.004757b0
add esp, 0x1c
lea ebp, [esp + 0x8cf0]
cmp dword [esp + 0x20], 0x62
mov ebx, dword [esp + 0x18]
jne 0x41b2f9
mov byte [ebx + 0x45], 1
jmp 0x41b322
add eax, 2
mov bl, 1
jmp 0x41b213
cmp ecx, 0x7d
ja case.0x41b2d1.1
movzx ecx, byte [ecx + 0x41cb54]
jmp dword [ecx*4 + 0x41cb40]
test dl, dl
sete dl
inc esi
jmp 0x41b220
test dl, dl
jne case.0x41b2d1.1
inc edi
inc esi
jmp 0x41b220
test dl, dl
jne case.0x41b2d1.1
dec edi
inc esi
jmp 0x41b220
cmp byte [esp + 0x1f], 0
je 0x41b322
cmp byte [esp + 0x17], 0
jne 0x41b322
push 0
push 0
push 0
push 0x73
push ebx
call fcn.0041d0f0
test eax, eax
je 0x41b43c
mov byte [esp + 0x17], 1
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, ebx
call fcn.0041adb0
test eax, eax
je 0x41b43c
cmp dword [esp + 0x20], 0x62
jne 0x41b358
mov eax, dword [ebx + 4]
mov byte [ebx + 0x45], 0
movzx edx, byte [eax]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 4]
mov byte [eax], 8
mov cx, word [esp + 0x28]
mov word [esi + 2], cx
cmp word [edi], 0x2c
jne 0x41b373
lea eax, [edi + 2]
call fcn.00409620
mov ebp, eax
jmp 0x41b375
mov ebp, edi
cmp word [ebp], 0
je 0x41b423
mov edi, dword [0x4c590c]
jmp 0x41b020
mov ecx, dword [esp + 0x18]
push ebp
push 0x4a8008
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
test byte [ebx + 0x16], 0x40
mov eax, 0x4a804c
jne 0x41b3b7
mov eax, 0x4a8080
mov ecx, dword [esp + 0x18]
push ebp
push eax
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
push ebp
push 0x4a812c
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
push ebp
push 0x4a7950
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
push ebp
push 0x4a80d8
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
cmp byte [esp + 0x17], 0
je 0x41b478
push 0
push 0
push 0
push 0x74
push ebx
call fcn.0041d0f0
test eax, eax
jne 0x41b478
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
cmp byte [edi + 0x44], 0
je 0x41b4a7
mov edx, dword [0x4c590c]
mov ecx, dword [edx + 0xb4]
mov al, byte [ecx + 0x3c]
test al, al
jne 0x41b48a
cmp ebx, 0x42
jne 0x41b475
mov dword [esp + 0x20], 0x46
mov ebx, dword [esp + 0x20]
mov byte [ecx + 0x3c], bl
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
cmp al, 0x46
jne 0x41b4a7
cmp ebx, 0x62
jne 0x41b4a7
mov byte [ecx + 0x3c], 0x66
lea eax, [ebx - 0x61]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
push esi
push 0x4a7950
mov ecx, edi
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov eax, dword [esp + 0x10cfc]
push 1
push eax
lea ecx, [esp + 0xf0]
push ecx
push edi
call fcn.0041ced0
mov ecx, eax
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0x41ae00
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
movzx eax, word [ecx + 2]
cmp ax, word [0x4c58fc]
je 0x41b54f
test ax, ax
je 0x41b54f
cmp eax, 0x20
je 0x41b54f
cmp eax, 9
je 0x41b54f
cmp eax, 0x28
jne 0x41ae34
lea edx, [esp + 0xe8]
push 0x4a7488
push edx
call fcn.0048e559
add esp, 8
test eax, eax
je 0x41b54f
lea eax, [esp + 0xe8]
push 0x4a7490
push eax
call fcn.0048e559
add esp, 8
test eax, eax
jne 0x41ae34
mov byte [esp + 0x1f], 1
jmp 0x41ae39
cmp byte [esp + 0x10d00], 0
jne 0x41bf26
cmp byte [esp + 0x10d04], 0
jne case.0x41ba63.39
cmp byte [esp + 0x1f], 0
je 0x41ba45
lea edx, [esp + 0xe8]
push 0x4a7488
push edx
call fcn.0048e559
add esp, 8
test eax, eax
jne 0x41ba45
movzx eax, word [ebp]
cmp eax, 0x28
je case.0x41b6b9.34
cmp ax, word [0x4c5900]
jne 0x41b5c9
movzx eax, word [ebp + 2]
cmp eax, 0x20
je case.0x41b6b9.34
cmp eax, 9
je case.0x41b6b9.34
mov cx, word [0x4c58fc]
mov eax, 0x20
mov word [esp + 0x40], ax
mov eax, 0x3a
mov word [esp + 0x42], cx
mov edi, 0x3d
mov word [esp + 0x4c], ax
mov ecx, edi
lea ebx, [esp + 0x40]
mov eax, ebp
mov dword [esp + 0x44], 0x90028
mov dword [esp + 0x48], 0x3e003c
mov word [esp + 0x4e], cx
mov dword [esp + 0x50], 0x2d002b
mov dword [esp + 0x54], 0x2f002a
mov dword [esp + 0x58], 0x7e0021
mov dword [esp + 0x5c], 0x7c0026
mov dword [esp + 0x60], 0x5b005e
mov dword [esp + 0x64], 0x3f002e
mov dword [esp + 0x68], 0x7b
call fcn.004095d0
test eax, eax
je 0x41b655
call fcn.00409620
mov esi, eax
jmp 0x41b673
mov eax, ebp
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41b660
sub eax, edx
sar eax, 1
lea esi, [ebp + eax*2]
push 3
push 0x4a53dc
push ebp
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41b6a1
movzx eax, word [ebp + 6]
push eax
lea ecx, [esp + 0x44]
push ecx
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41b6a1
mov bl, 1
jmp 0x41b6a3
xor bl, bl
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x41b6b9.34
movzx edx, byte [eax + 0x41cbf8]
jmp dword [edx*4 + 0x41cbd4]
mov byte [esp + 0x10d00], 0x12
jmp 0x41b730
movzx eax, word [esi + 2]
sub eax, edi
je 0x41b6df
dec eax
je 0x41b71f
mov byte [esp + 0x10d00], 0x16
jmp 0x41b730
mov ecx, 0x20
mov byte [esp + 0x10d00], 0x17
mov word [esi + 2], cx
jmp 0x41b730
cmp word [esi + 2], di
jne 0x41b70b
mov edx, 0x20
mov byte [esp + 0x10d00], 0x15
mov word [esi + 2], dx
jmp 0x41b730
mov byte [esp + 0x10d00], 0x14
jmp 0x41b730
cmp word [esi + 2], di
jne case.0x41b6b9.34
mov byte [esp + 0x10d00], 0x13
mov eax, 0x20
mov word [esi + 2], ax
mov ax, word [0x4c58fc]
mov word [esi], ax
mov al, byte [esp + 0x10d00]
cmp al, 0xf
je 0x41b74c
cmp al, 0x10
jne 0x41bd26
mov eax, 0x4a7564
mov ecx, esi
call fcn.00475370
mov esi, eax
test esi, esi
je 0x41b7a3
mov edi, edi
movzx ecx, word [esi - 2]
push ecx
push 0x4a5734
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41b790
movzx edx, word [esi + 6]
push edx
push 0x4a5734
call fcn.0048f331
add esp, 8
test eax, eax
jne 0x41ba2a
lea ecx, [esi + 6]
mov eax, 0x4a7564
call fcn.00475370
mov esi, eax
test esi, esi
jne 0x41b760
mov eax, dword [esp + 0x10cfc]
mov ecx, dword [esp + 0x18]
push eax
push 0x4a8164
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
test bl, bl
jne case.0x41b6b9.34
push 7
push 0x4a4768
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne case.0x41b6b9.34
mov eax, 0x20
movzx edx, ax
mov eax, edx
shl edx, 0x10
or eax, edx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [esp + 0x10d00], 0xf
mov word [esi + 0xc], ax
jmp 0x41b730
test bl, bl
jne case.0x41b6b9.34
push 8
push 0x4a47ac
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne case.0x41b6b9.34
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [esi], eax
mov dword [esi + 4], eax
mov dword [esi + 8], eax
mov byte [esp + 0x10d00], 0xb
mov dword [esi + 0xc], eax
jmp 0x41b730
mov ax, word [esi + 2]
call fcn.004095a0
movzx eax, ax
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x41b6b9.34
movzx edx, byte [eax + 0x41cc54]
jmp dword [edx*4 + 0x41cc48]
test bl, bl
je 0x41b87d
mov byte [esp + 0x10d00], 0x11
jmp 0x41b8d9
lea eax, [esi + 4]
call fcn.00409620
push 3
mov ebx, eax
push 0x4a815c
push ebx
call fcn.0048eda7
add esp, 0xc
test eax, eax
je 0x41b8a5
mov byte [esp + 0x10d00], 0xd
jmp 0x41b8c2
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov byte [esp + 0x10d00], 0xe
mov word [ebx + 4], ax
cmp byte [esp + 0x10d00], 0x11
mov edx, 0x20
mov word [esi + 2], dx
jne 0x41b730
mov eax, ebp
lea edx, [eax + 2]
mov edi, edi
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41b8e0
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 2], 0x7b
lea eax, [ebp + eax*2 - 2]
jne 0x41bf26
xor edx, edx
mov word [eax], dx
sub eax, ebp
sar eax, 1
mov esi, ebp
call fcn.00413920
mov byte [esp + 0x17], 1
jmp 0x41bf26
test bl, bl
je 0x41b927
mov byte [esp + 0x10d00], 0x11
jmp 0x41b8d9
mov byte [esp + 0x10d00], 9
jmp 0x41b727
push 3
push 0x4a815c
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne case.0x41b6b9.34
movzx ecx, word [esi + 6]
lea eax, [esi + 6]
cmp ecx, 0x20
je 0x41b961
cmp ecx, 9
jne case.0x41b6b9.34
mov ecx, 0x20
movzx edx, cx
mov ecx, edx
shl edx, 0x10
or ecx, edx
mov dword [esi], ecx
mov word [esi + 4], cx
call fcn.00409620
push 2
mov edi, eax
push 0x4a47d0
push edi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41b9af
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov byte [esp + 0x10d00], 0xa
mov dword [edi], eax
jmp 0x41b730
push 7
push 0x4a4768
push edi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41b9eb
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov byte [esp + 0x10d00], 0x10
mov word [edi + 0xc], ax
jmp 0x41b730
push 8
push 0x4a47ac
push edi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41b730
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov byte [esp + 0x10d00], 0xc
mov dword [edi + 0xc], eax
jmp 0x41b730
mov cx, word [0x4c58fc]
mov word [esi], cx
mov eax, 0x20
mov dword [esi + 2], 0x200020
jmp 0x41bd26
movzx ecx, word [ebp]
movzx eax, word [ebp + 2]
lea edx, [ecx - 0x26]
lea esi, [ebp + 2]
cmp edx, 0x56
ja case.0x41ba63.39
movzx edx, byte [edx + 0x41cca4]
jmp dword [edx*4 + 0x41cc7c]
mov byte [esp + 0x10d00], 1
jmp 0x41bd02
cmp eax, 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 2
jmp 0x41bc92
cmp word [esp + 0xe8], 0x2b
jne 0x41baa7
cmp word [esp + 0xea], 0
jne 0x41baa7
mov cl, 1
jmp 0x41bab2
xor cl, cl
cmp eax, 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 4
test cl, cl
je 0x41bc7a
mov eax, esi
call fcn.00409620
mov ebx, 0x4a81c0
mov ebp, eax
call fcn.004095d0
test eax, eax
jne 0x41bb9c
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41bae2
mov edi, dword [esp + 0x10cfc]
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [esi + esi + 2]
push eax
push ebp
push edi
call fcn.0048efd0
mov cx, word [0x4c58fc]
add esp, 0xc
mov word [edi + esi*2], cx
xor eax, eax
mov dword [edi + esi*2 + 2], 0x31
jmp 0x41bd1f
cmp word [esp + 0xe8], 0x2d
jne 0x41bb48
cmp word [esp + 0xea], 0
jne 0x41bb48
mov cl, 1
mov byte [esp + 0x10d00], 5
jmp 0x41baba
xor cl, cl
cmp eax, 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 5
jmp 0x41baba
cmp eax, 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 6
jmp 0x41bc92
cmp eax, 0x3d
jne 0x41bb88
mov byte [esp + 0x10d00], 7
jmp 0x41bc92
cmp eax, 0x2f
jne case.0x41ba63.39
cmp word [ebp + 4], 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 3
jmp 0x41bd1f
cmp eax, 0x3d
jne case.0x41ba63.39
mov byte [esp + 0x10d00], 3
jmp 0x41bd1f
cmp ax, cx
jmp 0x41bb8b
mov edi, 0x3d
cmp ax, di
je 0x41bb9c
mov eax, esi
call fcn.00430020
cmp word [eax], 0x28
je 0x41bb9c
jmp 0x41bbe0
cmp eax, esi
je case.0x41ba63.39
call fcn.00409620
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x5b
je 0x41bb9c
test ax, ax
je 0x41bb9c
cmp word [esi + 2], di
lea ebx, [esi + 2]
jne 0x41bc17
push eax
push 0x4a81a4
call fcn.0048f331
add esp, 8
test eax, eax
jne 0x41bb9c
movzx eax, word [esi]
cmp word [ebx], ax
jne 0x41bc50
push eax
push 0x4a81b8
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41bc3b
cmp word [esi + 4], di
je 0x41bb9c
movzx eax, word [esi]
cmp eax, 0x2b
je 0x41bb9c
cmp eax, 0x2d
je 0x41bb9c
cmp ax, 0x2e
jne case.0x41ba63.39
mov esi, ebx
mov eax, esi
call fcn.00430020
cmp word [eax], 0x28
jne 0x41bbe0
mov byte [esp + 0x10d00], 3
jmp 0x41bd1f
cmp byte [esp + 0x10d00], 3
je 0x41bd1f
cmp byte [esp + 0x10d00], 1
je 0x41bcf8
xor cl, cl
xor ebx, ebx
mov edx, 2
jmp 0x41bca0
movzx eax, word [ebp + edx*2]
cmp ax, word [0x4c58fc]
jne 0x41bd6e
test cl, cl
jne case.0x41bd7a.1
test ebx, ebx
jg case.0x41bd7a.1
cmp word [ebp + edx*2], 0
je 0x41bcf8
mov al, byte [esp + 0x10d00]
cmp al, 4
je 0x41bcdd
cmp al, 5
jne 0x41bb9c
lea eax, [ebp + edx*2 + 2]
call fcn.00409620
mov ebx, 0x4a81c0
call fcn.004095d0
test eax, eax
jne 0x41bb9c
cmp byte [esp + 0x10d00], 3
je 0x41bd1f
cmp byte [esp + 0x10d00], 1
mov cx, word [0x4c58fc]
mov word [ebp], cx
je 0x41bd1f
mov edx, 0x20
mov word [esi], dx
mov ebp, dword [esp + 0x10cfc]
cmp byte [esp + 0x10d00], 0
jne 0x41bf26
cmp byte [esp + 0x1f], 0
je 0x41bda2
cmp byte [esp + 0x10d04], 0
jne 0x41bda2
lea edi, [esp + 0xe8]
call fcn.0041cff0
mov byte [esp + 0x10d00], al
test al, al
jne 0x41bf26
call fcn.0041d030
mov byte [esp + 0x10d04], al
jmp 0x41bdb0
cmp eax, 0x7d
ja case.0x41bd7a.1
movzx eax, byte [eax + 0x41cd10]
jmp dword [eax*4 + 0x41ccfc]
test cl, cl
sete cl
inc edx
jmp 0x41bca0
test cl, cl
jne case.0x41bd7a.1
inc ebx
inc edx
jmp 0x41bca0
test cl, cl
jne case.0x41bd7a.1
dec ebx
inc edx
jmp 0x41bca0
cmp byte [esp + 0x10d00], 0
jne 0x41bf26
cmp byte [esp + 0x10d04], 0
jne 0x41bf26
cmp word [ebp], 0x7b
jne case.0x41bde3.34
lea edi, [esp + 0xe8]
call fcn.0041cff0
movzx ecx, al
add ecx, 0xffffffdf
cmp ecx, 0x50
ja case.0x41bde3.34
movzx ecx, byte [ecx + 0x41cd9c]
jmp dword [ecx*4 + 0x41cd90]
cmp word [ebp + 2], 0
mov byte [esp + 0x17], 1
jne case.0x41bde3.34
mov byte [esp + 0x10d00], al
test al, al
jne 0x41bf26
movzx edx, word [ebp]
push edx
push 0x4a81c0
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41beab
movzx eax, word [ebp]
cmp eax, 0x2b
je 0x41be2d
cmp eax, 0x2d
jne 0x41be7f
cmp word [ebp + 2], ax
jne 0x41be7f
cmp word [ebp + 4], 0
je 0x41be44
mov byte [esp + 0x10d00], 3
jmp 0x41be66
cmp eax, 0x2b
setne al
add al, 4
mov byte [esp + 0x10d00], al
mov ax, word [0x4c58fc]
mov ecx, 0x31
mov word [ebp], ax
mov word [ebp + 2], cx
cmp byte [esp + 0x10d00], 0
mov esi, dword [esp + 0x10cfc]
mov ebp, esi
jne 0x41bf26
jmp 0x41beb2
cmp eax, 0x3f
je 0x41bea2
push 0x3f
push ebp
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41beab
push 0x3a
push eax
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41beab
mov ebp, dword [esp + 0x10cfc]
jmp 0x41bf1e
mov esi, dword [esp + 0x10cfc]
movzx eax, word [ebp]
cmp eax, 0x28
je 0x41bf1c
cmp eax, 0x5b
je 0x41bf1c
cmp word [esi], 0x28
je 0x41bf1c
push 3
push 0x4a81f4
push esi
call fcn.0048eda7
add esp, 0xc
test eax, eax
jne 0x41bee8
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x41bf1c
cmp eax, 9
je 0x41bf1c
push 0x4a75a4
push esi
call fcn.0048f358
add esp, 8
test eax, eax
mov eax, 0x4a81fc
jne 0x41bf04
mov eax, 0x4a7950
mov ecx, dword [esp + 0x18]
push esi
push eax
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ebp, esi
mov byte [esp + 0x10d00], 3
mov bl, byte [esp + 0x10d00]
movzx eax, bl
lea ecx, [eax - 0x21]
cmp ecx, 0x50
ja case.0x41bf43.34
movzx edx, byte [ecx + 0x41cdfc]
jmp dword [edx*4 + 0x41cdf0]
cmp word [ebp], 0x7b
jne case.0x41bf43.34
mov eax, dword [esp + 0x10d00]
mov esi, dword [esp + 0x18]
push 0
push 0
push 0
push eax
push esi
call fcn.0041d0f0
test eax, eax
je 0x41b43c
cmp word [ebp], 0x7b
jne 0x41bf98
push 0
push 0
push 0
push 0x73
push esi
call fcn.0041d0f0
test eax, eax
je 0x41b43c
lea eax, [ebp + 2]
call fcn.00409620
mov ebp, eax
cmp word [ebp], 0
je 0x41b478
push 0
push 0
push 0
push 0
push 0
push 0
push ebp
mov ecx, esi
call fcn.0041adb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
test bl, bl
je 0x41bfda
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0x4c59f0]
jmp 0x41bff2
movzx eax, byte [esp + 0x10d04]
lea ecx, [eax*8]
sub ecx, eax
lea edx, [ecx*2 + 0x4c6650]
push 0x8002
lea eax, [esp + 0xcec]
push 0
push eax
mov dword [esp + 0x3c], edx
call fcn.00497430
mov edx, dword [esp + 0x10d1c]
add esp, 0xc
test edx, edx
je 0x41c0e8
mov ecx, dword [esp + 0x10d14]
mov eax, ebp
sub eax, dword [esp + 0x24]
sar eax, 1
sub ecx, eax
test ecx, ecx
jle 0x41c048
add ecx, ecx
push ecx
lea edx, [edx + eax*2]
push edx
lea eax, [esp + 0xcf0]
push eax
call fcn.004968e0
add esp, 0xc
mov dword [esp + 0x20], 0
cmp bl, 0x22
jne 0x41c2ba
xor edi, edi
mov ebx, 1
mov dword [esp + 0x24], ebx
cmp word [ebp], di
je 0x41c3a4
cmp ebx, 1
jle 0x41c074
inc edi
movzx eax, word [ebp + edi*2]
cmp eax, 0x20
je 0x41c073
cmp eax, 9
je 0x41c073
lea edx, [edi + edi]
mov cx, word [edx + ebp]
lea eax, [edx + ebp]
cmp cx, word [0x4c5900]
jne 0x41c1ad
cmp word [esp + edx + 0xce8], 0
jne 0x41c1ad
movzx ecx, word [eax + 2]
cmp ecx, 0x20
je 0x41c0bb
cmp ecx, 9
jne 0x41c1ad
cmp ebx, 3
jge 0x41c3a4
movzx ecx, word [0x4c58fc]
lea edx, [esp + 0xce8]
push edx
push ecx
lea eax, [edi + 2]
mov ecx, ebp
call fcn.00477320
add esp, 8
mov esi, eax
jmp 0x41c22b
xor esi, esi
cmp word [ebp + esi*2], 0
mov ax, word [0x4c5904]
je 0x41c108
cmp word [ebp + esi*2], ax
je 0x41c108
inc esi
cmp word [ebp + esi*2], 0
jne 0x41c0f8
cmp word [ebp + esi*2], 0
lea edi, [ebp + esi*2]
je 0x41c048
movzx eax, word [edi + 2]
lea ecx, [edi + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x41c12e.99
movzx edx, byte [eax + 0x41ce70]
jmp dword [edx*4 + 0x41ce50]
mov eax, 7
jmp 0x41c16d
mov edx, 8
mov word [ecx], dx
jmp case.0x41c12e.99
mov eax, 0xc
jmp 0x41c16d
mov edx, 0xa
mov word [ecx], dx
jmp case.0x41c12e.99
mov eax, 0xd
jmp 0x41c16d
mov edx, 9
mov word [ecx], dx
jmp case.0x41c12e.99
mov eax, 0xb
mov word [ecx], ax
mov eax, ecx
lea ebx, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x41c175
sub eax, ebx
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push ecx
push edi
call fcn.004968e0
mov bl, byte [esp + 0x10d0c]
mov eax, 1
add esp, 0xc
mov word [esp + esi*2 + 0xce8], ax
inc esi
jmp 0x41c0ea
cmp word [eax], 0
mov esi, edi
je 0x41c1e2
mov bx, word [0x4c58fc]
mov ecx, eax
mov edi, edi
cmp word [ecx], bx
jne 0x41c1d0
cmp word [esp + edx + 0xce8], 0
je 0x41c1de
inc esi
lea edx, [esi + esi]
cmp word [edx + ebp], 0
lea ecx, [edx + ebp]
jne 0x41c1c0
mov ebx, dword [esp + 0x24]
cmp ebx, 1
jne 0x41c226
cmp word [ebp + esi*2], 0
je 0x41c3a4
xor edx, edx
push edx
push edx
push ebx
push edx
mov word [ebp + esi*2], dx
call fcn.00474e20
add esp, 0x10
test eax, eax
jne 0x41c20e
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x20], 0
mov ax, word [0x4c58fc]
mov word [ebp + esi*2], ax
jne 0x41c3a4
jmp 0x41c22b
cmp ebx, 4
je 0x41c243
inc ebx
cmp word [ebp + esi*2], 0
mov edi, esi
mov dword [esp + 0x24], ebx
jne 0x41c06e
jmp 0x41c3a4
push 0
push 1
lea ebx, [ebp + edi*2]
push 1
push 0
mov eax, ebx
call fcn.00474e20
add esp, 0x10
test eax, eax
jne 0x41c3a4
cmp word [ebp + esi*2], ax
jne 0x41c2ad
mov ax, word [0x4c5900]
cmp word [ebx], ax
jne 0x41c2ad
cmp word [esp + edi*2 + 0xce8], 0
jne 0x41c2ad
movzx ecx, ax
push ecx
add ebx, 2
push ebx
call fcn.0048f331
add esp, 8
test eax, eax
je 0x41c2ad
push 0
push 1
push 1
push 0
add eax, 2
call fcn.00474e20
add esp, 0x10
test eax, eax
jne 0x41c3a4
mov dword [esp + 0x20], 3
jmp 0x41c3a4
cmp bl, 0x6a
jne 0x41c3a4
cmp word [ebp], 0
mov esi, ebp
je 0x41c318
lea esp, [esp]
movzx eax, word [esi]
cmp eax, 0x20
je 0x41c2dd
cmp eax, 9
jne 0x41c30f
movzx edx, word [esi + 2]
push edx
call fcn.004904d6
add esp, 4
cmp eax, 0x69
jne 0x41c30f
movzx eax, word [esi + 4]
push eax
call fcn.004904d6
add esp, 4
cmp eax, 0x6e
jne 0x41c30f
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x41c318
cmp eax, 9
je 0x41c318
add esi, 2
cmp word [esi], 0
jne 0x41c2d0
cmp word [esi], 0
mov dx, word [0x4c58fc]
jne 0x41c348
mov ecx, dword [esp + 0x10cfc]
push ecx
mov ecx, dword [esp + 0x1c]
push 0x4a8220
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov eax, esi
sub eax, ebp
sar eax, 1
mov ecx, 1
test eax, eax
jle 0x41c364
cmp word [ebp + eax*2], dx
jne 0x41c35f
inc ecx
dec eax
test eax, eax
jg 0x41c357
mov word [esi + 2], dx
cmp ecx, 1
jle 0x41c3a0
cmp ecx, 2
jle 0x41c395
mov edx, dword [esp + 0x10cfc]
mov ecx, dword [esp + 0x18]
push edx
push 0x4a8260
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov eax, 0x20
mov word [esi + 4], ax
jmp 0x41c3a4
mov word [esi + 4], dx
mov eax, dword [esp + 0x20]
xor ecx, ecx
mov byte [esp + 0x24], 0
mov byte [esp + 0x2c], 0
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], ecx
cmp eax, ecx
je 0x41c3c6
mov dword [esp + 0x38], eax
jmp 0x41c3d2
mov ecx, dword [esp + 0x30]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x38], edx
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x20], esi
cmp word [ebp], bx
je 0x41c5d0
mov esi, dword [esp + 0x20]
cmp esi, dword [esp + 0x38]
jge 0x41c5d0
cmp esi, 2
jne 0x41c455
mov al, byte [esp + 0x10d00]
sub al, 0x18
cmp al, 3
ja 0x41c44a
mov edx, dword [esp + 0x18]
push 0
lea eax, [ebp + ebx*2]
push eax
lea ecx, [esp + 0x2f0]
push ecx
push edx
mov dword [esp + 0x38], eax
call fcn.0041ced0
mov dword [esp + 0x34], eax
test eax, eax
je 0x41c44a
lea edi, [esp + 0x2e8]
call fcn.0041cff0
mov byte [esp + 0x24], al
test al, al
jne 0x41c5d0
call fcn.0041d030
mov byte [esp + 0x2c], al
cmp byte [esp + 0x2c], 0
jne 0x41c5d0
lea eax, [esp + esi*4 + 0x40]
lea edi, [ebp + ebx*2]
lea ecx, [esp + esi*4 + 0x98]
mov dword [esp + 0x3c], eax
mov dword [eax], edi
lea eax, [esp + ebx*2 + 0xce8]
mov dword [esp + 0x94], ecx
mov dword [ecx], eax
mov ecx, dword [esp + 0x38]
dec ecx
cmp esi, ecx
je 0x41c5cb
mov cx, word [edi]
cmp cx, word [0x4c5900]
jne 0x41c4af
cmp word [eax], 0
jne 0x41c4af
movzx eax, word [edi + 2]
cmp eax, 0x20
je case.0x41c4dc.2
cmp eax, 9
je case.0x41c4dc.2
cmp byte [esp + 0x10d00], 0x2b
jne 0x41c4e3
cmp esi, 2
je 0x41c4c3
cmp esi, 3
jne 0x41c4e3
mov esi, dword [esp + 0x44]
call fcn.00414af0
cmp eax, 5
ja case.0x41c4dc.2
movzx edx, byte [eax + 0x41ce90]
jmp dword [edx*4 + 0x41ce88]
mov ecx, dword [esp + 0x30]
add ecx, 7
je case.0x41c4dc.0
mov edx, dword [esp + 0x20]
mov al, byte [ecx]
inc edx
test al, al
je case.0x41c4dc.0
jmp 0x41c500
movzx eax, al
cmp eax, edx
je 0x41c58c
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x41c500
movzx eax, word [edi]
test ax, ax
je 0x41c53d
mov cx, word [0x4c58fc]
cmp ax, cx
jne 0x41c532
cmp word [esp + ebx*2 + 0xce8], 0
je 0x41c53d
movzx eax, word [ebp + ebx*2 + 2]
inc ebx
test ax, ax
jne 0x41c522
cmp word [ebp + ebx*2], 0
je 0x41c5b5
mov ecx, dword [esp + 0x94]
mov edx, dword [ecx]
xor eax, eax
mov word [ebp + ebx*2], ax
mov eax, dword [esp + 0x3c]
mov edi, dword [eax]
push edx
call fcn.004138b0
inc ebx
lea edx, [esp + 0xcec]
add esp, 4
lea eax, [ebp + ebx*2]
sub edx, ebp
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x41c57f
cmp ecx, 9
jne 0x41c5b5
cmp word [edx + eax], 0
jne 0x41c5b5
inc ebx
add eax, 2
jmp 0x41c572
cmp byte [ecx], 0
je case.0x41c4dc.0
movzx edx, word [0x4c58fc]
lea ecx, [esp + 0xce8]
push ecx
push edx
mov eax, ebx
mov ecx, ebp
call fcn.00477320
add esp, 8
mov ebx, eax
jmp 0x41c53d
inc dword [esp + 0x20]
cmp word [ebp + ebx*2], 0
jne 0x41c3e4
mov esi, dword [esp + 0x20]
jmp 0x41c5d0
inc esi
mov dword [esp + 0x20], esi
mov ecx, dword [esp + 0x30]
mov al, byte [ecx + 4]
movsx ecx, al
cmp esi, ecx
jge 0x41c62f
cmp al, 1
mov eax, 0x4a82d0
jg 0x41c5ec
mov eax, 0x4a2868
mov edx, dword [esp + 0x30]
push eax
mov eax, dword [edx]
push ecx
push eax
push 0x4a82d8
mov esi, 0x400
lea edi, [esp + 0x4f8]
call fcn.00474fc0
mov ecx, dword [esp + 0x10d0c]
add esp, 0x10
push ecx
mov ecx, dword [esp + 0x1c]
mov edx, edi
push edx
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
xor eax, eax
test ecx, ecx
jle 0x41c644
mov edx, dword [esp + eax*4 + 0x40]
inc eax
cmp word [edx], 0
je 0x41c667
cmp eax, ecx
jl 0x41c635
mov cl, byte [esp + 0x10d04]
test cl, cl
je case.default.0x41c660
movzx eax, cl
dec eax
cmp eax, 0xc
ja case.default.0x41c660
jmp dword [eax*4 + 0x41ce98]
push eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push ecx
push 0x4a8328
mov esi, 0x400
lea edi, [esp + 0x4f4]
call fcn.00474fc0
mov edx, dword [esp + 0x10d08]
mov ecx, dword [esp + 0x24]
add esp, 0xc
push edx
mov eax, edi
push eax
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov eax, dword [esp + 0x18]
lea ecx, [esp + 0x98]
push ecx
mov dword [esp + esi*4 + 0x44], 0x4a8388
mov dword [esp + esi*4 + 0x9c], 0
inc esi
push esi
lea edx, [esp + 0x48]
push edx
push 0x89
push eax
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x44]
lea ecx, [esp + 0x98]
push ecx
push 2
lea edx, [esp + 0x48]
push edx
push 0x89
mov edi, 0x4a8388
xor ebp, ebp
push ebx
mov dword [esp + 0x58], edi
mov dword [esp + 0xb0], ebp
call fcn.0041d0f0
test eax, eax
je 0x41b43c
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x98]
push eax
push 5
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0x48]
push ecx
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0xb4]
push 0x8c
push ebx
mov dword [esp + 0x5c], esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], edx
mov dword [esp + 0x64], edi
mov dword [esp + 0xbc], ebp
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push edx
push esi
lea eax, [esp + 0x48]
push eax
push 1
push ecx
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push edx
push esi
lea eax, [esp + 0x48]
push eax
push 4
push ecx
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push edx
push esi
lea eax, [esp + 0x48]
push eax
push 5
push ecx
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push edx
push esi
lea eax, [esp + 0x48]
push eax
push 6
push ecx
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x98]
push edx
push esi
lea eax, [esp + 0x48]
push eax
push 7
push ecx
call fcn.0041d0f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov byte [esp + 0x10d00], 0x12
jmp case.default.0x41c660
mov byte [esp + 0x10d00], 0x13
jmp case.default.0x41c660
mov byte [esp + 0x10d00], 0x14
jmp case.default.0x41c660
mov byte [esp + 0x10d00], 0x15
jmp case.default.0x41c660
mov byte [esp + 0x10d00], 0x16
jmp case.default.0x41c660
mov byte [esp + 0x10d00], 0x17
test esi, esi
je 0x41c98d
cmp byte [esp + 0x24], 0
jne 0x41c98d
cmp byte [esp + 0x2c], 0
jne 0x41c98d
mov al, byte [esp + 0x10d00]
lea edx, [eax - 0x12]
cmp dl, 0xe
ja 0x41c98d
cmp al, 0x17
ja 0x41c8e0
sub cl, 6
cmp cl, 5
ja 0x41c98d
mov eax, dword [esp + esi*4 + 0x3c]
mov dword [esp + 0x3c], eax
sub eax, ebp
sar eax, 1
movzx ecx, word [ebp + eax*2]
test cx, cx
je 0x41c98d
mov dx, word [0x4c58fc]
cmp cx, dx
jne 0x41c911
cmp word [esp + eax*2 + 0xce8], 0
je 0x41c91e
movzx ecx, word [ebp + eax*2 + 2]
inc eax
test cx, cx
jne 0x41c901
jmp 0x41c98d
lea ebx, [ebp + eax*2]
movzx ecx, word [ebp + eax*2 + 2]
inc eax
cmp ecx, 0x20
je 0x41c922
cmp ecx, 9
je 0x41c922
mov ecx, dword [esp + 0x18]
lea eax, [ebp + eax*2]
push 0
push eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2f0]
push eax
push ecx
call fcn.0041ced0
mov dword [esp + 0x34], eax
test eax, eax
je 0x41c98d
lea edi, [esp + 0x2e8]
call fcn.0041cff0
mov byte [esp + 0x24], al
test al, al
jne 0x41c978
call fcn.0041d030
mov byte [esp + 0x2c], al
test al, al
je 0x41c98d
mov esi, dword [esp + 0x3c]
xor edx, edx
or eax, 0xffffffff
mov word [ebx], dx
call fcn.00413920
mov esi, dword [esp + 0x20]
mov al, byte [esp + 0x10d00]
cmp al, 0x69
je 0x41c99c
cmp al, 0x6b
jne 0x41c9ab
cmp esi, 1
jne 0x41c9ab
mov ecx, dword [esp + 0x40]
cmp word [ecx], 0
jne 0x41c9bf
cmp al, 0x6a
je 0x41c9b7
cmp al, 0x70
jne 0x41ca3f
test esi, esi
je 0x41ca3f
mov ecx, dword [esp + esi*4 + 0x3c]
mov eax, ecx
lea edi, [eax + 2]
jmp 0x41c9d0
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x41c9d0
sub eax, edi
sar eax, 1
cmp word [ecx + eax*2 - 2], 0x7b
jne 0x41ca3f
xor edx, edx
mov word [ecx + eax*2 - 2], dx
or eax, 0xffffffff
mov esi, ecx
mov byte [esp + 0x17], 1
call fcn.00413920
test eax, eax
jne 0x41ca3b
mov al, byte [esp + 0x10d00]
cmp al, 0x69
je 0x41ca33
cmp al, 0x70
je 0x41ca33
mov eax, dword [esp + 0x10cfc]
mov ecx, dword [esp + 0x18]
push eax
push 0x4a7e60
call fcn.0042ece0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c
mov dword [esp + 0x20], 0
mov esi, dword [esp + 0x20]
mov eax, dword [esp + 0x10d00]
mov edi, dword [esp + 0x18]
lea ecx, [esp + 0x98]
push ecx
push esi
lea edx, [esp + 0x48]
push edx
push eax
push edi
call fcn.0041d0f0
test eax, eax
je 0x41b43c
cmp byte [esp + 0x17], 0
je 0x41ca84
push 0
push 0
push 0
push 0x73
push edi
call fcn.0041d0f0
test eax, eax
je 0x41b43c
cmp byte [esp + 0x24], 0
jne 0x41ca96
cmp byte [esp + 0x2c], 0
je 0x41b478
mov edx, dword [esp + 0x34]
mov eax, edx
lea esi, [eax + 2]
nop
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x41caa0
sub eax, esi
mov ecx, edx
sub ecx, ebp
sar eax, 1
push eax
sar ecx, 1
lea eax, [esp + ecx*2 + 0xcec]
push eax
mov eax, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x38]
lea ecx, [esp + 0x2f4]
push ecx
mov ecx, dword [esp + 0x38]
push edx
push eax
push ecx
mov ecx, edi
call fcn.0041adb0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce8
ret 0x1c