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

Disassembly:
mov eax, 0x10ce0
call fcn.004a7dd0
mov eax, dword [esp + 0x10cf0]
push ebx
push ebp
mov ebp, dword [esp + 0x10cec]
push esi
push edi
mov edi, ecx
mov dword [esp + 0x14], edi
test eax, eax
je 0x423b9c
lea edx, [esp + 0xe0]
sub edx, eax
nop
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x423b60
mov eax, dword [esp + 0x10d04]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x423bb4
mov ecx, dword [esp + 0x1c]
lea ebp, [ecx + 2]
movzx eax, word [ebp]
cmp eax, 0x20
je 0x423b97
cmp eax, 9
jne 0x424272
add ebp, 2
jmp 0x423b85
cmp byte [esp + 0x10cf8], 3
jne 0x423be6
xor eax, eax
mov word [esp + 0xe0], ax
mov dword [esp + 0x1c], eax
mov byte [esp + 0x13], 0
mov dx, word [0x4d5a38]
mov byte [esp + 0x12], 0
cmp word [ebp], dx
jne 0x4242d7
movzx eax, word [ebp + 2]
add ebp, 2
cmp eax, 0x20
je 0x423bcf
cmp eax, 9
jne 0x424b37
jmp 0x423bcf
push 6
push 0x4b700c
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x423c19
mov ecx, dword [0x4d5b14]
mov ebx, dword [ecx + 0xb4]
neg ebx
sbb ebx, ebx
and ebx, 0xffffff80
add ebx, 0xc1
mov dword [esp + 0x18], ebx
jmp 0x423c75
mov edx, dword [0x4d5b14]
cmp dword [edx + 0xb4], 0
je 0x424248
push 5
push 0x4b701c
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x423c51
mov dword [esp + 0x18], 0x42
mov ebx, dword [esp + 0x18]
lea eax, [ebp + 0xa]
jmp 0x423c78
push 6
push 0x4b2b70
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x424248
mov dword [esp + 0x18], 0x62
mov ebx, dword [esp + 0x18]
lea eax, [ebp + 0xc]
movzx ecx, word [eax]
test cx, cx
je 0x4241cb
cmp ecx, 0x20
je 0x423c92
cmp ecx, 9
jne 0x424248
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x20
je 0x423ca1
cmp eax, 9
jne 0x423ca6
add esi, 2
jmp 0x423c94
cmp word [esi], 0
je 0x4241cb
movzx ebp, word [esi + 2]
xor eax, eax
push eax
push esi
mov word [esi + 2], ax
call fcn.00483e10
add esp, 8
mov word [esi + 2], bp
test eax, eax
je 0x424241
cmp byte [edi + 0x48], 0
mov ebp, dword [0x4d5b14]
je 0x423d29
mov eax, dword [ebp + 0xb4]
cmp byte [eax + 0x3c], 0
jne 0x423d29
cmp ebx, 0x62
je 0x423cf9
cmp ebx, 0x42
setne cl
add cl, 0x41
mov byte [eax + 0x3c], cl
mov eax, dword [edi + 4]
test eax, eax
je 0x423d87
mov al, byte [eax]
cmp al, 9
jb 0x423d0e
cmp al, 0x20
jbe 0x423d22
cmp al, 0x21
je 0x423d22
cmp al, 0x69
jb 0x423d1a
cmp al, 0x6b
jbe 0x423d22
cmp al, 0x6f
jb 0x423d87
cmp al, 0x71
ja 0x423d87
mov byte [esp + 0x12], 1
jmp 0x423d8c
mov eax, dword [ebp + 0xb4]
test eax, eax
je 0x423cf9
movzx edx, byte [eax + 0x3c]
cmp ebx, edx
jne 0x423cf9
cmp ebx, 0x41
jne 0x423d61
mov eax, dword [esp + 0x10cf4]
push eax
push 0x4b7028
mov ecx, edi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
cmp ebx, 0x42
jne 0x423cf9
mov ecx, dword [esp + 0x10cf4]
push ecx
push 0x4b7098
mov ecx, edi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov byte [esp + 0x12], 0
cmp word [esi], 0
mov byte [esp + 0x13], 0
mov edi, esi
je 0x4241f8
lea ecx, [ecx]
mov ebx, 0x4b7108
mov eax, edi
call fcn.0040558a
mov dword [esp + 0x20], eax
test eax, eax
jne 0x423dd6
mov eax, edi
lea edx, [eax + 2]
lea esp, [esp]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x423dc0
sub eax, edx
sar eax, 1
lea eax, [edi + eax*2]
mov dword [esp + 0x20], eax
mov esi, eax
sub esi, edi
sar esi, 1
cmp dword [ebp + 0xb4], 0
je 0x423eca
mov edx, dword [0x4d5b14]
mov eax, dword [edx + 0xb4]
xor ebp, ebp
cmp dword [eax + 0x10], ebp
jle 0x423e33
xor ebx, ebx
mov edi, edi
mov eax, dword [eax + 0xc]
mov ecx, dword [eax + ebx]
mov eax, dword [ecx + 0x18]
push 0xffffffffffffffff
push esi
mov ecx, edi
call fcn.00480050
add esp, 8
test eax, eax
je 0x42410b
mov edx, dword [0x4d5b14]
mov eax, dword [edx + 0xb4]
inc ebp
add ebx, 0x10
cmp ebp, dword [eax + 0x10]
jl 0x423e00
mov ecx, dword [esp + 0x14]
push 0
push 2
push 0
push esi
push edi
call fcn.0042d170
mov ebp, eax
mov eax, dword [esp + 0x18]
test ebp, ebp
je 0x423e6b
movzx ecx, byte [ebp + 0x16]
xor ecx, eax
test ecx, 0xffffffbf
jne 0x424127
cmp eax, 0x62
je 0x424127
xor ebp, ebp
cmp eax, 0x41
je 0x423ec2
mov edx, dword [0x4d5b14]
mov eax, dword [edx + 0xb4]
xor ebx, ebx
cmp dword [eax + 0x34], ebx
jle 0x423ec2
mov eax, dword [eax + 0x24]
mov ecx, dword [eax + ebx*4]
mov ecx, dword [ecx + 0x18]
push esi
push 0xffffffffffffffff
mov eax, edi
call fcn.00480050
add esp, 8
test eax, eax
je 0x423eb1
mov edx, dword [0x4d5b14]
mov eax, dword [edx + 0xb4]
inc ebx
cmp ebx, dword [eax + 0x34]
jl 0x423e83
jmp 0x423ec2
mov eax, dword [0x4d5b14]
mov ecx, dword [eax + 0xb4]
mov edx, dword [ecx + 0x24]
mov ebp, dword [edx + ebx*4]
test ebp, ebp
jne 0x424127
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push ebx
push esi
push edi
call fcn.0042d110
mov ebp, eax
test ebp, ebp
je 0x4241bc
mov al, byte [ebp + 0x17]
test al, al
jne 0x423ef1
mov eax, dword [ebp + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x424187
push 0xffffffffffffffff
push esi
mov eax, 0x4b6414
mov ecx, edi
call fcn.00480050
add esp, 8
test eax, eax
je 0x424187
mov ecx, dword [0x4d5b14]
cmp ebx, 0x41
jne 0x423f47
mov edx, dword [ecx + 0xb4]
cmp dword [edx + 0x34], 0x7d0
jge 0x42414f
mov eax, edx
mov edx, dword [eax + 0x34]
mov eax, dword [eax + 0x24]
mov dword [eax + edx*4], ebp
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x34]
jmp 0x423f52
cmp ebx, 0xc1
jne 0x423f52
mov byte [ebp + 0x16], bl
mov eax, dword [esp + 0x20]
call fcn.00403ff0
movzx ecx, word [eax]
cmp ecx, 0x3d
ja case.0x423f6a.1
movzx ecx, byte [ecx + 0x4259a4]
jmp dword [ecx*4 + 0x425990]
add eax, 2
call fcn.00403ff0
mov ebx, dword [esp + 0x14]
mov edi, eax
jmp 0x4240f6
cmp word [eax + 2], 0x3d
jne 0x42416b
add eax, 4
xor bl, bl
xor dl, dl
xor ebp, ebp
xor esi, esi
lea ebx, [ebx]
movzx ecx, word [eax + esi*2]
cmp ecx, 0x2c
jne 0x424045
test dl, dl
jne case.0x424051.1
test ebp, ebp
jg case.0x424051.1
lea ebp, [eax + esi*2]
lea eax, [ebp - 2]
mov edx, edi
call fcn.0040ef40
mov esi, eax
movzx edx, word [esi + 2]
xor eax, eax
mov dword [esp + 0x20], edx
mov word [esi + 2], ax
test bl, bl
je 0x42402a
lea edx, [esp + 0x8ce8]
mov eax, edi
sub edx, edi
lea esp, [esp]
movzx ecx, word [eax]
mov word [eax + edx], cx
add eax, 2
test cx, cx
jne 0x423ff0
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x4b2ba0
lea ecx, [esp + 0x8cfc]
push 0x4b2ba8
push ecx
xor eax, eax
call fcn.00480750
add esp, 0x1c
lea edi, [esp + 0x8ce8]
cmp dword [esp + 0x18], 0x62
mov ebx, dword [esp + 0x14]
jne 0x424079
mov byte [ebx + 0x49], 1
jmp 0x4240a2
add eax, 2
mov bl, 1
jmp 0x423f94
cmp ecx, 0x7d
ja case.0x424051.1
movzx ecx, byte [ecx + 0x4259f8]
jmp dword [ecx*4 + 0x4259e4]
test dl, dl
sete dl
inc esi
jmp 0x423fa0
test dl, dl
jne case.0x424051.1
inc ebp
inc esi
jmp 0x423fa0
test dl, dl
jne case.0x424051.1
dec ebp
inc esi
jmp 0x423fa0
cmp byte [esp + 0x12], 0
je 0x4240a2
cmp byte [esp + 0x13], 0
jne 0x4240a2
push 0
push 0
push 0
push 0x75
push ebx
call fcn.004260f0
test eax, eax
je 0x4241bc
mov byte [esp + 0x13], 1
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov ecx, ebx
call fcn.00423b30
test eax, eax
je 0x4241bc
cmp dword [esp + 0x18], 0x62
jne 0x4240d8
mov eax, dword [ebx + 4]
mov byte [ebx + 0x49], 0
movzx edx, byte [eax]
mov dword [eax + 0xc], edx
mov eax, dword [ebx + 4]
mov byte [eax], 8
mov cx, word [esp + 0x20]
mov word [esi + 2], cx
cmp word [ebp], 0x2c
jne 0x4240f4
lea eax, [ebp + 2]
call fcn.00403ff0
mov edi, eax
jmp 0x4240f6
mov edi, ebp
cmp word [edi], 0
je 0x4241a3
mov ebp, dword [0x4d5b14]
jmp 0x423da0
mov ecx, dword [esp + 0x14]
push edi
push 0x4b7118
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
test byte [ebp + 0x16], 0x40
mov eax, 0x4b715c
jne 0x424137
mov eax, 0x4b7190
mov ecx, dword [esp + 0x14]
push edi
push eax
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
push edi
push 0x4b723c
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
push edi
push 0x4b6978
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
push edi
push 0x4b71e8
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
cmp byte [esp + 0x13], 0
je 0x4241f8
push 0
push 0
push 0
push 0x76
push ebx
call fcn.004260f0
test eax, eax
jne 0x4241f8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
cmp byte [edi + 0x48], 0
je 0x424227
mov edx, dword [0x4d5b14]
mov ecx, dword [edx + 0xb4]
mov al, byte [ecx + 0x3c]
test al, al
jne 0x42420a
cmp ebx, 0x42
jne 0x4241f5
mov dword [esp + 0x18], 0x46
mov ebx, dword [esp + 0x18]
mov byte [ecx + 0x3c], bl
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
cmp al, 0x46
jne 0x424227
cmp ebx, 0x62
jne 0x424227
mov byte [ecx + 0x3c], 0x66
lea eax, [ebx - 0x61]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
push ebp
push 0x4b6978
mov ecx, edi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ebp, dword [esp + 0x10cf4]
push 1
push edi
mov edx, ebp
lea ebx, [esp + 0xe8]
call fcn.00425e10
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x423b7e
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
movzx eax, word [ecx + 2]
cmp ax, word [0x4d5a38]
je 0x4242cd
test ax, ax
je 0x4242cd
cmp eax, 0x20
je 0x4242cd
cmp eax, 9
je 0x4242cd
cmp eax, 0x28
jne 0x423bb4
lea eax, [esp + 0xe0]
push 0x4b6468
push eax
call fcn.00499c29
add esp, 8
test eax, eax
je 0x4242cd
lea ecx, [esp + 0xe0]
push 0x4b6470
push ecx
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x423bb4
mov byte [esp + 0x13], 1
jmp 0x423bb9
cmp byte [esp + 0x10cf8], 0
jne 0x424d7d
cmp byte [esp + 0x10cfc], 0
jne case.0x4247e2.39
cmp byte [esp + 0x13], 0
je 0x4247c0
lea eax, [esp + 0xe0]
push 0x4b6468
push eax
call fcn.00499c29
add esp, 8
test eax, eax
jne 0x4247c0
movzx eax, word [ebp]
cmp eax, 0x28
je case.0x424429.34
cmp ax, word [0x4d5a3c]
jne 0x424347
movzx eax, word [ebp + 2]
cmp eax, 0x20
je case.0x424429.34
cmp eax, 9
je case.0x424429.34
mov dx, word [0x4d5a38]
mov ecx, 0x20
lea ebx, [esp + 0x38]
mov eax, ebp
mov word [esp + 0x38], cx
mov word [esp + 0x3a], dx
mov dword [esp + 0x3c], 0x90028
mov dword [esp + 0x40], 0x3e003c
mov dword [esp + 0x44], 0x3d003a
mov dword [esp + 0x48], 0x2d002b
mov dword [esp + 0x4c], 0x2f002a
mov dword [esp + 0x50], 0x7e0021
mov dword [esp + 0x54], 0x7c0026
mov dword [esp + 0x58], 0x5b005e
mov dword [esp + 0x5c], 0x3f002e
mov dword [esp + 0x60], 0x7b
call fcn.0040558a
test eax, eax
je 0x4243c5
call fcn.00403ff0
mov esi, eax
jmp 0x4243e3
mov eax, ebp
lea edx, [eax + 2]
lea ebx, [ebx]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x4243d0
sub eax, edx
sar eax, 1
lea esi, [ebp + eax*2]
push 3
push 0x4b3774
push ebp
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x424411
movzx eax, word [ebp + 6]
push eax
lea edx, [esp + 0x3c]
push edx
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x424411
mov bl, 1
jmp 0x424413
xor bl, bl
movzx eax, word [esi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x424429.34
movzx eax, byte [eax + 0x425a9c]
jmp dword [eax*4 + 0x425a78]
mov byte [esp + 0x10cf8], 0x12
jmp 0x424483
movzx eax, word [esi + 2]
sub eax, 0x3d
je 0x424454
dec eax
je 0x42452d
mov byte [esp + 0x10cf8], 0x16
jmp 0x424483
mov edx, 0x20
mov byte [esp + 0x10cf8], 0x17
mov word [esi + 2], dx
jmp 0x424483
cmp word [esi + 2], 0x3d
jne 0x424515
mov byte [esp + 0x10cf8], 0x15
mov eax, 0x20
mov word [esi + 2], ax
mov ax, word [0x4d5a38]
mov word [esi], ax
mov al, byte [esp + 0x10cf8]
cmp al, 0xf
je 0x42449f
cmp al, 0x10
jne 0x424b37
mov eax, 0x4b6548
mov ecx, esi
call fcn.00480360
mov esi, eax
test esi, esi
je 0x4244f4
movzx ecx, word [esi - 2]
push ecx
push 0x4b3acc
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x4244e1
movzx edx, word [esi + 6]
push edx
push 0x4b3acc
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x4247aa
lea ecx, [esi + 6]
mov eax, 0x4b6548
call fcn.00480360
mov esi, eax
test esi, esi
jne 0x4244b1
mov eax, dword [esp + 0x10cf4]
push eax
push 0x4b7274
mov ecx, edi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov byte [esp + 0x10cf8], 0x14
jmp 0x424483
cmp word [esi + 2], 0x3d
jne case.0x424429.34
mov ecx, 0x20
mov byte [esp + 0x10cf8], 0x13
mov word [esi + 2], cx
jmp 0x424483
test bl, bl
jne case.0x424429.34
push 7
push 0x4b2b00
push esi
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne case.0x424429.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 + 0x10cf8], 0xf
mov word [esi + 0xc], ax
jmp 0x424483
test bl, bl
jne case.0x424429.34
push 8
push 0x4b2b44
push esi
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne case.0x424429.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 + 0x10cf8], 0xb
mov dword [esi + 0xc], eax
jmp 0x424483
mov ax, word [esi + 2]
call fcn.0040ef10
movzx eax, ax
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x424429.34
movzx edx, byte [eax + 0x425af8]
jmp dword [edx*4 + 0x425aec]
test bl, bl
je 0x4245fa
mov byte [esp + 0x10cf8], 0x11
jmp 0x424656
lea eax, [esi + 4]
call fcn.00403ff0
push 3
mov ebx, eax
push 0x4b726c
push ebx
call fcn.0049a3aa
add esp, 0xc
test eax, eax
je 0x424622
mov byte [esp + 0x10cf8], 0xd
jmp 0x42463f
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov byte [esp + 0x10cf8], 0xe
mov word [ebx + 4], ax
cmp byte [esp + 0x10cf8], 0x11
mov edx, 0x20
mov word [esi + 2], dx
jne 0x424483
mov eax, ebp
lea edx, [eax + 2]
jmp 0x424660
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x424660
sub eax, edx
sar eax, 1
cmp word [ebp + eax*2 - 2], 0x7b
lea eax, [ebp + eax*2 - 2]
jne 0x424d7d
xor edx, edx
mov word [eax], dx
sub eax, ebp
sar eax, 1
mov esi, ebp
call fcn.0041a2f0
mov byte [esp + 0x12], 1
jmp 0x424d7d
test bl, bl
je 0x4246a7
mov byte [esp + 0x10cf8], 0x11
jmp 0x424656
mov byte [esp + 0x10cf8], 9
jmp 0x42447a
push 3
push 0x4b726c
push esi
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne case.0x424429.34
movzx ecx, word [esi + 6]
lea eax, [esi + 6]
cmp ecx, 0x20
je 0x4246e1
cmp ecx, 9
jne case.0x424429.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.00403ff0
push 2
mov ebx, eax
push 0x4b2b68
push ebx
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x42472f
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov byte [esp + 0x10cf8], 0xa
mov dword [ebx], eax
jmp 0x424483
push 7
push 0x4b2b00
push ebx
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x42476b
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov byte [esp + 0x10cf8], 0x10
mov word [ebx + 0xc], ax
jmp 0x424483
push 8
push 0x4b2b44
push ebx
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x424483
mov eax, 0x20
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov byte [esp + 0x10cf8], 0xc
mov dword [ebx + 0xc], eax
jmp 0x424483
mov cx, word [0x4d5a38]
mov word [esi], cx
mov dword [esi + 2], 0x200020
jmp 0x424b37
movzx ecx, word [ebp]
mov si, word [0x4d5a38]
movzx eax, word [ebp + 2]
lea edx, [ecx - 0x26]
cmp edx, 0x56
ja case.0x4247e2.39
movzx edx, byte [edx + 0x425b48]
jmp dword [edx*4 + 0x425b20]
mov byte [esp + 0x10cf8], 1
jmp 0x424b19
cmp eax, 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 2
jmp 0x424a80
cmp word [esp + 0xe0], 0x2b
jne 0x424826
cmp word [esp + 0xe2], 0
jne 0x424826
mov cl, 1
jmp 0x424831
xor cl, cl
cmp eax, 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 4
test cl, cl
je 0x424a64
lea eax, [ebp + 2]
call fcn.00403ff0
mov ebx, 0x4b72d0
mov ebp, eax
call fcn.0040558a
test eax, eax
je 0x424a20
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp word [esp + 0xe0], 0x2d
jne 0x42488c
cmp word [esp + 0xe2], 0
jne 0x42488c
mov cl, 1
mov byte [esp + 0x10cf8], 5
jmp 0x424839
xor cl, cl
cmp eax, 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 5
jmp 0x424839
cmp eax, 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 6
jmp 0x424a80
cmp eax, 0x3d
jne 0x4248c9
mov byte [esp + 0x10cf8], 7
jmp 0x424a80
cmp eax, 0x2f
jne case.0x4247e2.39
cmp word [ebp + 4], 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp eax, 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp ax, cx
jne case.0x4247e2.39
movzx ecx, word [ebp + 4]
cmp ecx, 0x3d
je 0x42492e
cmp eax, 0x3e
jne case.0x4247e2.39
cmp ecx, eax
jne case.0x4247e2.39
cmp word [ebp + 6], 0x3d
jne case.0x4247e2.39
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp eax, 0x3d
jne 0x42494d
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
lea esi, [ebp + 2]
mov eax, esi
call fcn.0043b940
cmp word [eax], 0x28
je 0x424a13
cmp eax, esi
je case.0x4247e2.39
call fcn.00403ff0
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x5b
je 0x4248dd
test ax, ax
je 0x4248dd
lea ebx, [esi + 2]
mov edi, 0x3d
cmp word [ebx], di
jne 0x4249a8
push eax
push 0x4b72b4
call fcn.0049a90e
add esp, 8
test eax, eax
jne 0x4248dd
movzx eax, word [esi]
cmp word [ebx], ax
jne 0x4249f6
push eax
push 0x4b72c8
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x4249cc
cmp word [esi + 4], di
je 0x4248dd
movzx eax, word [esi]
cmp eax, 0x2b
je 0x4248dd
cmp eax, 0x2d
je 0x4248dd
cmp eax, 0x3e
jne 0x4249f6
cmp word [esi + 4], ax
jne 0x4249f6
cmp word [esi + 6], di
je 0x4248dd
cmp ax, 0x2e
jne case.0x4247e2.39
mov esi, ebx
mov eax, esi
call fcn.0043b940
cmp word [eax], 0x28
jne 0x424961
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
mov eax, ebp
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x424a25
mov edi, dword [esp + 0x10cf4]
sub eax, edx
sar eax, 1
mov esi, eax
lea eax, [esi + esi + 2]
push eax
push ebp
push edi
call fcn.0049ad10
mov cx, word [0x4d5a38]
mov word [edi + esi*2], cx
add esp, 0xc
mov dword [edi + esi*2 + 2], 0x31
jmp 0x424b30
cmp byte [esp + 0x10cf8], 3
je 0x424b30
cmp byte [esp + 0x10cf8], 1
je 0x424b0f
xor cl, cl
xor ebx, ebx
mov edx, 2
lea esp, [esp]
movzx eax, word [ebp + edx*2]
cmp ax, si
jne 0x424ac3
test cl, cl
jne case.0x424acf.1
test ebx, ebx
jg case.0x424acf.1
cmp word [ebp + edx*2], 0
je 0x424b0f
mov al, byte [esp + 0x10cf8]
cmp al, 4
je 0x424aee
cmp al, 5
je 0x424aee
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp eax, 0x7d
ja case.0x424acf.1
movzx eax, byte [eax + 0x425bb4]
jmp dword [eax*4 + 0x425ba0]
test cl, cl
sete cl
inc edx
jmp 0x424a90
test cl, cl
jne case.0x424acf.1
inc ebx
inc edx
jmp 0x424a90
test cl, cl
jne case.0x424acf.1
dec ebx
inc edx
jmp 0x424a90
lea eax, [ebp + edx*2 + 2]
call fcn.00403ff0
mov ebx, 0x4b72d0
call fcn.0040558a
test eax, eax
je 0x424b0f
mov byte [esp + 0x10cf8], 3
jmp 0x424b30
cmp byte [esp + 0x10cf8], 3
je 0x424b30
cmp byte [esp + 0x10cf8], 1
mov word [ebp], si
je 0x424b30
mov ecx, 0x20
mov word [ebp + 2], cx
mov ebp, dword [esp + 0x10cf4]
cmp byte [esp + 0x10cf8], 0
jne 0x424d7d
cmp byte [esp + 0x13], 0
je 0x424b7f
cmp byte [esp + 0x10cfc], 0
jne 0x424b7f
lea edi, [esp + 0xe0]
call fcn.00425f50
mov byte [esp + 0x10cf8], al
test al, al
jne 0x424d7d
call fcn.00425f90
mov byte [esp + 0x10cfc], al
jmp 0x424b8d
cmp byte [esp + 0x10cf8], 0
jne 0x424d7d
cmp byte [esp + 0x10cfc], 0
jne 0x424d7d
movzx eax, word [ebp]
cmp eax, 0x7b
jne 0x424c32
lea edi, [esp + 0xe0]
call fcn.00425f50
movzx ecx, al
add ecx, 0xffffffdf
cmp ecx, 0x50
ja case.0x424bc6.34
movzx edx, byte [ecx + 0x425c40]
jmp dword [edx*4 + 0x425c34]
cmp word [ebp + 2], 0
mov byte [esp + 0x12], 1
jne case.0x424bc6.34
mov byte [esp + 0x10cf8], al
test al, al
jne 0x424d7d
movzx ecx, word [ebp]
push ecx
push 0x4b72d0
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x424d02
movzx eax, word [ebp]
cmp eax, 0x2b
je 0x424c14
cmp eax, 0x2d
jne 0x424cd6
cmp word [ebp + 2], ax
jne 0x424cd6
cmp word [ebp + 4], 0
je 0x424c9a
mov byte [esp + 0x10cf8], 3
jmp 0x424cbd
cmp eax, 0x3a
jne case.0x424bc6.34
lea eax, [esp + 0xe0]
push 0x4b5340
push eax
call fcn.00499c29
add esp, 8
test eax, eax
jne case.0x424bc6.34
mov esi, dword [esp + 0x14]
push eax
push eax
push eax
push 0x74
push esi
call fcn.004260f0
test eax, eax
je 0x4241bc
lea eax, [ebp + 2]
call fcn.00403ff0
cmp word [eax], 0
je 0x4241f8
push 0
push 0
push 0
push 0
push 0
push 0
push eax
mov ecx, esi
call fcn.00423b30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov dx, word [0x4d5a38]
cmp eax, 0x2b
setne al
add al, 4
mov byte [esp + 0x10cf8], al
mov eax, 0x31
mov word [ebp], dx
mov word [ebp + 2], ax
cmp byte [esp + 0x10cf8], 0
mov esi, dword [esp + 0x10cf4]
mov ebp, esi
jne 0x424d7d
jmp 0x424d09
cmp eax, 0x3f
je 0x424cf9
push 0x3f
push ebp
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x424d02
push 0x3a
push eax
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x424d02
mov ebp, dword [esp + 0x10cf4]
jmp 0x424d75
mov esi, dword [esp + 0x10cf4]
movzx eax, word [ebp]
cmp eax, 0x28
je 0x424d73
cmp eax, 0x5b
je 0x424d73
cmp word [esi], 0x28
je 0x424d73
push 3
push 0x4b7304
push esi
call fcn.0049a3aa
add esp, 0xc
test eax, eax
jne 0x424d3f
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x424d73
cmp eax, 9
je 0x424d73
push 0x4b6588
push esi
call fcn.0049b9f3
add esp, 8
test eax, eax
mov eax, 0x4b730c
jne 0x424d5b
mov eax, 0x4b6978
mov ecx, dword [esp + 0x14]
push esi
push eax
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ebp, esi
mov byte [esp + 0x10cf8], 3
movzx edi, byte [esp + 0x10cf8]
lea eax, [edi - 0x21]
mov dword [esp + 0x28], 0
cmp eax, 0x53
ja case.0x424da0.34
movzx ecx, byte [eax + 0x425ca4]
jmp dword [ecx*4 + 0x425c94]
cmp word [ebp], 0x7b
jne case.0x424da0.34
jmp 0x424dbb
cmp word [ebp], 0x7b
jne 0x424dca
lea eax, [ebp + 2]
mov byte [esp + 0x12], 1
call fcn.00403ff0
mov ebp, eax
cmp word [ebp], 0
je case.0x424da0.34
mov dword [esp + 0x28], ebp
sub ebp, 2
xor edx, edx
mov word [ebp], dx
jmp case.0x424da0.34
xor ebx, ebx
lea edx, [ebx + 0x3d]
lea esp, [esp]
movzx eax, word [ebp + ebx*2]
cmp eax, 0x3a
jne 0x424e01
cmp word [ebp + ebx*2 + 2], dx
jne case.0x424e0d.0
cmp eax, 0x7d
ja case.0x424e0d.1
movzx eax, byte [eax + 0x425d18]
jmp dword [eax*4 + 0x425cf8]
movzx eax, word [ebp + ebx*2 + 2]
inc ebx
test ax, ax
je case.0x424e0d.0
cmp eax, 0x22
jne case.0x424e0d.34
inc ebx
jmp 0x424df0
push 0
inc ebx
push ebx
push 0x3a
jmp 0x424e47
mov eax, 0x29
jmp 0x424e42
mov eax, 0x5d
jmp 0x424e42
mov eax, 0x7d
push 0
inc ebx
push ebx
push eax
push ebp
call fcn.00482530
mov ebx, eax
add esp, 0x10
cmp word [ebp + ebx*2], 0
je 0x424e65
inc ebx
jmp 0x424df0
cmp word [ebp + ebx*2], 0
jne 0x424e88
mov ecx, dword [esp + 0x10cf4]
push ecx
mov ecx, dword [esp + 0x18]
push 0x4b732c
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
xor edx, edx
or eax, 0xffffffff
mov esi, ebp
mov word [ebp + ebx*2], dx
call fcn.0041a2f0
lea eax, [ebp + ebx*2 + 2]
call fcn.00403ff0
cmp word [eax], 0
mov dword [esp + 0x28], eax
jne case.0x424da0.34
mov dword [esp + 0x28], 0
mov bl, byte [esp + 0x10cf8]
test bl, bl
je 0x424ed5
lea eax, [edi*8]
sub eax, edi
lea ecx, [eax*2 + 0x4d5b28]
mov dword [esp + 0x2c], ecx
jmp 0x424ef1
movzx eax, byte [esp + 0x10cfc]
lea edx, [eax*8]
sub edx, eax
lea eax, [edx*2 + 0x4d67a8]
mov dword [esp + 0x2c], eax
push 0x8002
lea ecx, [esp + 0xce4]
push 0
push ecx
call fcn.004a49c0
mov edx, dword [esp + 0x10d14]
add esp, 0xc
test edx, edx
je 0x424f48
mov ecx, dword [esp + 0x10d0c]
mov eax, ebp
sub eax, dword [esp + 0x1c]
sar eax, 1
sub ecx, eax
test ecx, ecx
jle 0x42500d
add ecx, ecx
push ecx
lea edx, [edx + eax*2]
push edx
lea eax, [esp + 0xce8]
push eax
call fcn.004a3c00
add esp, 0xc
jmp 0x42500d
xor esi, esi
cmp word [ebp + esi*2], 0
mov ax, word [0x4d5a40]
je 0x424f68
cmp word [ebp + esi*2], ax
je 0x424f68
inc esi
cmp word [ebp + esi*2], 0
jne 0x424f58
cmp word [ebp + esi*2], 0
lea ebx, [ebp + esi*2]
je 0x425006
movzx eax, word [ebx + 2]
lea ecx, [ebx + 2]
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x424f8e.99
movzx edx, byte [eax + 0x425db8]
jmp dword [edx*4 + 0x425d98]
mov eax, 7
jmp 0x424fcd
mov edx, 8
mov word [ecx], dx
jmp case.0x424f8e.99
mov eax, 0xc
jmp 0x424fcd
mov edx, 0xa
mov word [ecx], dx
jmp case.0x424f8e.99
mov eax, 0xd
jmp 0x424fcd
mov edx, 9
mov word [ecx], dx
jmp case.0x424f8e.99
mov eax, 0xb
mov word [ecx], ax
mov eax, ecx
lea edi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x424fd5
sub eax, edi
sar eax, 1
lea edx, [eax + eax + 2]
push edx
push ecx
push ebx
call fcn.004a3c00
mov eax, 1
add esp, 0xc
mov word [esp + esi*2 + 0xce0], ax
inc esi
jmp 0x424f4a
mov bl, byte [esp + 0x10cf8]
mov dword [esp + 0x18], 0
cmp bl, 0x22
jne 0x4251b0
xor ebx, ebx
mov edi, 1
mov dword [esp + 0x24], edi
cmp word [ebp], bx
je 0x42529d
cmp edi, 1
jle 0x425040
inc ebx
lea esp, [esp]
movzx eax, word [ebp + ebx*2]
cmp eax, 0x20
je 0x425038
cmp eax, 9
je 0x425038
lea edx, [ebx + ebx]
mov cx, word [edx + ebp]
lea eax, [edx + ebp]
cmp cx, word [0x4d5a3c]
jne 0x4250a5
cmp word [esp + edx + 0xce0], 0
jne 0x4250a5
movzx ecx, word [eax + 2]
cmp ecx, 0x20
je 0x42507b
cmp ecx, 9
jne 0x4250a5
cmp edi, 3
jge 0x42529d
movzx ecx, word [0x4d5a38]
lea edx, [esp + 0xce0]
push edx
push ecx
lea eax, [ebx + 2]
mov ecx, ebp
call fcn.00482430
add esp, 8
mov esi, eax
jmp 0x425121
cmp word [eax], 0
mov esi, ebx
je 0x4250d8
mov di, word [0x4d5a38]
mov ecx, eax
cmp word [ecx], di
jne 0x4250c6
cmp word [esp + edx + 0xce0], 0
je 0x4250d4
inc esi
lea edx, [esi + esi]
cmp word [edx + ebp], 0
lea ecx, [edx + ebp]
jne 0x4250b6
mov edi, dword [esp + 0x24]
cmp edi, 1
jne 0x42511c
cmp word [ebp + esi*2], 0
je 0x42529d
xor edx, edx
push edx
push edx
push edi
push edx
mov word [ebp + esi*2], dx
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne 0x425104
mov dword [esp + 0x18], edi
cmp dword [esp + 0x18], 0
mov ax, word [0x4d5a38]
mov word [ebp + esi*2], ax
jne 0x42529d
jmp 0x425121
cmp edi, 4
je 0x425139
inc edi
cmp word [ebp + esi*2], 0
mov ebx, esi
mov dword [esp + 0x24], edi
jne 0x425033
jmp 0x42529d
push 0
push 1
lea edi, [ebp + ebx*2]
push 1
push 0
mov eax, edi
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne 0x42529d
cmp word [ebp + esi*2], ax
jne 0x4251a3
mov ax, word [0x4d5a3c]
cmp word [edi], ax
jne 0x4251a3
cmp word [esp + ebx*2 + 0xce0], 0
jne 0x4251a3
movzx ecx, ax
push ecx
add edi, 2
push edi
call fcn.0049a90e
add esp, 8
test eax, eax
je 0x4251a3
push 0
push 1
push 1
push 0
add eax, 2
call fcn.0047fe10
add esp, 0x10
test eax, eax
jne 0x42529d
mov dword [esp + 0x18], 3
jmp 0x42529d
cmp bl, 0x6a
jne 0x42529d
cmp word [ebp], 0
mov esi, ebp
je 0x42520a
movzx eax, word [esi]
cmp eax, 0x20
je 0x4251cf
cmp eax, 9
jne 0x425201
movzx edx, word [esi + 2]
push edx
call fcn.0049c453
add esp, 4
cmp eax, 0x69
jne 0x425201
movzx eax, word [esi + 4]
push eax
call fcn.0049c453
add esp, 4
cmp eax, 0x6e
jne 0x425201
movzx eax, word [esi + 6]
cmp eax, 0x20
je 0x42520a
cmp eax, 9
je 0x42520a
add esi, 2
cmp word [esi], 0
jne 0x4251c2
cmp word [esi], 0
mov dx, word [0x4d5a38]
jne 0x42523a
mov ecx, dword [esp + 0x10cf4]
push ecx
mov ecx, dword [esp + 0x18]
push 0x4b7348
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov eax, esi
sub eax, ebp
sar eax, 1
mov ecx, 1
test eax, eax
jle 0x42525d
lea esp, [esp]
cmp word [ebp + eax*2], dx
jne 0x425258
inc ecx
dec eax
test eax, eax
jg 0x425250
mov word [esi + 2], dx
cmp ecx, 1
jle 0x425299
cmp ecx, 2
jle 0x42528e
mov edx, dword [esp + 0x10cf4]
mov ecx, dword [esp + 0x14]
push edx
push 0x4b7388
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov eax, 0x20
mov word [esi + 4], ax
jmp 0x42529d
mov word [esi + 4], dx
mov eax, dword [esp + 0x18]
xor ebx, ebx
mov byte [esp + 0x24], 0
mov byte [esp + 0x1c], 0
mov dword [esp + 0x20], ebx
cmp eax, ebx
je 0x4252bb
mov dword [esp + 0x30], eax
jmp 0x4252c7
mov ecx, dword [esp + 0x2c]
movsx edx, byte [ecx + 5]
mov dword [esp + 0x30], edx
xor esi, esi
mov dword [esp + 0x18], ebx
cmp word [ebp], bx
je 0x425484
jmp 0x4252e0
mov ebx, dword [esp + 0x18]
cmp ebx, dword [esp + 0x30]
jge 0x425484
cmp ebx, 2
jne 0x42534a
mov al, byte [esp + 0x10cf8]
sub al, 0x18
cmp al, 3
ja 0x42533b
mov ecx, dword [esp + 0x14]
push 0
lea edx, [ebp + esi*2]
push ecx
lea ebx, [esp + 0x2e8]
call fcn.00425e10
mov dword [esp + 0x20], eax
test eax, eax
je 0x42533b
mov edi, ebx
call fcn.00425f50
mov byte [esp + 0x24], al
test al, al
jne 0x425471
call fcn.00425f90
mov byte [esp + 0x1c], al
cmp byte [esp + 0x1c], 0
jne 0x425471
mov ebx, dword [esp + 0x18]
lea ecx, [esp + ebx*4 + 0x38]
lea eax, [ebp + esi*2]
lea edx, [esp + ebx*4 + 0x90]
mov dword [esp + 0x34], ecx
mov dword [ecx], eax
lea ecx, [esp + esi*2 + 0xce0]
mov dword [esp + 0x8c], edx
mov dword [edx], ecx
mov edx, dword [esp + 0x30]
dec edx
cmp ebx, edx
je 0x42547f
mov dx, word [0x4d5a3c]
cmp word [eax], dx
jne 0x42539c
cmp word [ecx], 0
jne 0x42539c
movzx eax, word [eax + 2]
cmp eax, 0x20
je 0x4253c0
cmp eax, 9
je 0x4253c0
mov ecx, dword [esp + 0x2c]
mov eax, dword [esp + 0x18]
mov bl, byte [esp + 0x10cf8]
push 0xffffffffffffffff
add ecx, 7
lea edi, [esp + 0x3c]
call fcn.00425fd0
add esp, 4
test al, al
je 0x4253e0
movzx ecx, word [0x4d5a38]
lea eax, [esp + 0xce0]
push eax
push ecx
mov eax, esi
mov ecx, ebp
call fcn.00482430
add esp, 8
mov esi, eax
jmp 0x42540c
movzx eax, word [ebp + esi*2]
test ax, ax
je 0x42540c
mov cx, word [0x4d5a38]
cmp ax, cx
jne 0x425401
cmp word [esp + esi*2 + 0xce0], 0
je 0x42540c
movzx eax, word [ebp + esi*2 + 2]
inc esi
test ax, ax
jne 0x4253f1
cmp word [ebp + esi*2], 0
je 0x42545b
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
xor edx, edx
mov word [ebp + esi*2], dx
mov edx, dword [esp + 0x34]
mov edi, dword [edx]
push ecx
call fcn.0041a350
inc esi
lea edx, [esp + 0xce4]
add esp, 4
lea eax, [ebp + esi*2]
sub edx, ebp
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x42544e
cmp ecx, 9
jne 0x42545b
cmp word [edx + eax], 0
jne 0x42545b
inc esi
add eax, 2
jmp 0x425441
inc dword [esp + 0x18]
cmp word [ebp + esi*2], 0
jne 0x4252e0
mov ebx, dword [esp + 0x18]
jmp 0x425484
mov ebx, dword [esp + 0x18]
lea eax, [ebp + esi*2]
mov dword [esp + 0x28], eax
jmp 0x425484
inc ebx
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0x2c]
mov al, byte [ecx + 4]
movsx esi, al
cmp ebx, esi
jge 0x4254e8
cmp al, 1
mov eax, 0x4b73f8
jg 0x4254a0
mov eax, 0x4b0cf8
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx]
push esi
push eax
push 0x4b7400
mov esi, 0x400
lea edi, [esp + 0x4f0]
call fcn.0047ffb0
add esp, 0x10
mov ecx, dword [esp + 0x10cf4]
push ecx
mov ecx, dword [esp + 0x18]
lea edx, [esp + 0x4e4]
push edx
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
xor eax, eax
cmp byte [esp + 0x10cf8], 0x74
jne 0x4254f6
mov esi, ebx
test esi, esi
jle 0x42550f
lea ebx, [ebx]
mov ecx, dword [esp + eax*4 + 0x38]
inc eax
cmp word [ecx], 0
je 0x425532
cmp eax, esi
jl 0x425500
mov cl, byte [esp + 0x10cfc]
test cl, cl
je case.default.0x42552b
movzx eax, cl
dec eax
cmp eax, 0xc
ja case.default.0x42552b
jmp dword [eax*4 + 0x425dd0]
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [edx]
push eax
push 0x4b7450
mov esi, 0x400
lea edi, [esp + 0x4ec]
call fcn.0047ffb0
add esp, 0xc
jmp 0x4254c2
mov edx, dword [esp + 0x14]
lea eax, [esp + 0x90]
push eax
mov dword [esp + ebx*4 + 0x3c], 0x4b74b0
mov dword [esp + ebx*4 + 0x94], 0
inc ebx
push ebx
lea ecx, [esp + 0x40]
push ecx
push 0x8b
push edx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x3c]
lea eax, [esp + 0x90]
push eax
push 2
lea ecx, [esp + 0x40]
push ecx
push 0x8b
mov ebx, 0x4b74b0
push edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0xa8], 0
call fcn.004260f0
test eax, eax
je 0x4241bc
mov edx, dword [esp + 0x44]
mov eax, dword [esp + 0x9c]
mov ecx, dword [esp + 0x40]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x98]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], eax
lea eax, [esp + 0x90]
push eax
push 5
mov dword [esp + 0x44], ecx
lea ecx, [esp + 0x40]
push ecx
push 0x8e
push edi
mov dword [esp + 0x54], esi
mov dword [esp + 0xa8], edx
mov dword [esp + 0x5c], ebx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
push edx
push ebx
lea eax, [esp + 0x40]
push eax
push 1
push ecx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
push edx
push ebx
lea eax, [esp + 0x40]
push eax
push 4
push ecx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
push edx
push ebx
lea eax, [esp + 0x40]
push eax
push 5
push ecx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
push edx
push ebx
lea eax, [esp + 0x40]
push eax
push 6
push ecx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x90]
push edx
push ebx
lea eax, [esp + 0x40]
push eax
push 7
push ecx
call fcn.004260f0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
mov byte [esp + 0x10cf8], 0x12
jmp case.default.0x42552b
mov byte [esp + 0x10cf8], 0x13
jmp case.default.0x42552b
mov byte [esp + 0x10cf8], 0x14
jmp case.default.0x42552b
mov byte [esp + 0x10cf8], 0x15
jmp case.default.0x42552b
mov byte [esp + 0x10cf8], 0x16
jmp case.default.0x42552b
mov byte [esp + 0x10cf8], 0x17
test ebx, ebx
je 0x425845
cmp byte [esp + 0x24], 0
jne 0x425845
cmp byte [esp + 0x1c], 0
jne 0x425845
mov al, byte [esp + 0x10cf8]
lea edx, [eax - 0x12]
cmp dl, 0xe
ja 0x425845
cmp al, 0x17
ja 0x425793
sub cl, 6
cmp cl, 5
ja 0x425845
mov eax, dword [esp + ebx*4 + 0x34]
mov dword [esp + 0x34], eax
sub eax, ebp
sar eax, 1
movzx ecx, word [ebp + eax*2]
test cx, cx
je 0x425845
mov dx, word [0x4d5a38]
cmp cx, dx
jne 0x4257c4
cmp word [esp + eax*2 + 0xce0], 0
je 0x4257d1
movzx ecx, word [ebp + eax*2 + 2]
inc eax
test cx, cx
jne 0x4257b4
jmp 0x425845
lea esi, [ebp + eax*2]
movzx ecx, word [ebp + eax*2 + 2]
inc eax
cmp ecx, 0x20
je 0x4257d5
cmp ecx, 9
je 0x4257d5
mov ecx, dword [esp + 0x14]
lea eax, [ebp + eax*2]
push 0
push ecx
mov edx, eax
lea ebx, [esp + 0x2e8]
mov dword [esp + 0x30], eax
call fcn.00425e10
mov dword [esp + 0x20], eax
test eax, eax
je 0x425839
mov edi, ebx
call fcn.00425f50
mov byte [esp + 0x24], al
test al, al
jne 0x425826
call fcn.00425f90
mov byte [esp + 0x1c], al
test al, al
je 0x425839
xor edx, edx
mov word [esi], dx
mov esi, dword [esp + 0x34]
or eax, 0xffffffff
call fcn.0041a2f0
jmp 0x425841
mov dword [esp + 0x28], 0
mov ebx, dword [esp + 0x18]
mov al, byte [esp + 0x10cf8]
mov edi, dword [esp + 0x14]
cmp al, 0x69
je 0x425858
cmp al, 0x6b
jne 0x425867
cmp ebx, 1
jne 0x425867
mov ecx, dword [esp + 0x38]
cmp word [ecx], 0
jne 0x425877
cmp al, 0x6a
je 0x425873
cmp al, 0x70
je 0x425873
cmp al, 0x73
jne 0x4258e5
test ebx, ebx
je 0x4258e5
mov esi, dword [esp + ebx*4 + 0x34]
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425880
sub eax, edx
sar eax, 1
cmp word [esi + eax*2 - 2], 0x7b
jne 0x4258e5
xor edx, edx
mov word [esi + eax*2 - 2], dx
or eax, 0xffffffff
mov byte [esp + 0x12], 1
call fcn.0041a2f0
test eax, eax
jne 0x4258e5
mov al, byte [esp + 0x10cf8]
cmp al, 0x69
je 0x4258e3
cmp al, 0x70
je 0x4258e3
cmp al, 0x73
je 0x4258e3
mov eax, dword [esp + 0x10cf4]
push eax
push 0x4b6ad8
mov ecx, edi
call fcn.0043a420
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c
xor ebx, ebx
mov eax, dword [esp + 0x10cf8]
lea ecx, [esp + 0x90]
push ecx
push ebx
lea edx, [esp + 0x40]
push edx
push eax
push edi
call fcn.004260f0
test eax, eax
je 0x4241bc
cmp byte [esp + 0x12], 0
je 0x425926
push 0
push 0
push 0
push 0x75
push edi
call fcn.004260f0
test eax, eax
je 0x4241bc
mov ebx, dword [esp + 0x28]
test ebx, ebx
je 0x4241f8
mov esi, dword [esp + 0x20]
test esi, esi
jne 0x425942
push esi
push esi
push esi
push esi
push esi
push esi
jmp 0x425978
mov eax, esi
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x425947
sub eax, edx
mov ecx, esi
sar eax, 1
push eax
sub ecx, ebp
sar ecx, 1
lea edx, [esp + ecx*2 + 0xce4]
mov ecx, dword [esp + 0x20]
push edx
mov edx, dword [esp + 0x2c]
push esi
lea eax, [esp + 0x2ec]
push eax
push ecx
push edx
mov ecx, edi
push ebx
call fcn.00423b30
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x10ce0
ret 0x1c