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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, 0x10cf4
call fcn.004ab360
mov edx, dword [ebp + 0x14]
push ebx
mov bl, byte [ebp + 0xc]
push esi
mov esi, ecx
mov dword [esp + 0xc], esi
push edi
test edx, edx
je 0x420539
lea esi, [esp + 0xf0]
sub esi, edx
nop dword [eax]
movzx eax, word [edx]
lea edx, [edx + 2]
mov word [esi + edx - 2], ax
test ax, ax
jne 0x420510
mov eax, dword [ebp + 0x18]
test eax, eax
jne 0x420b62
mov esi, dword [ebp + 8]
xor cl, cl
mov dword [esp + 0x30], esi
jmp 0x420bd5
cmp bl, 3
jne 0x420559
mov esi, dword [ebp + 8]
xor eax, eax
mov word [esp + 0xf0], ax
xor cl, cl
mov dword [ebp + 0x18], eax
mov dword [esp + 0x30], esi
jmp 0x420bd5
mov edi, dword [ebp + 8]
push 6
push str.Global
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
mov eax, dword [0x4d89c0]
jne 0x42058b
cmp dword [eax + 0xb4], 0
mov edx, 0xc1
mov ecx, 0x41
cmovne edx, ecx
jmp 0x4205d1
cmp dword [eax + 0xb4], 0
je 0x420b45
push 5
push str.Local
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x4205b4
lea edx, [eax + 0x42]
lea eax, [edx - 0x38]
jmp 0x4205d6
push 6
push str.Static
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x420b45
mov edx, 0x62
mov eax, 0xc
lea ecx, [eax + edi]
mov dword [esp + 0x18], edx
movzx eax, word [ecx]
test ax, ax
je 0x420ade
cmp eax, 0x20
je 0x4205f7
cmp eax, 9
jne 0x420b45
call fcn.0040e490
mov edi, eax
cmp word [edi], 0
je 0x420adb
movzx esi, word [edi + 2]
xor eax, eax
xor edx, edx
mov word [edi + 2], ax
mov ecx, edi
call fcn.0047bdd0
mov word [edi + 2], si
mov esi, dword [esp + 0x10]
test eax, eax
je 0x420b42
cmp byte [esi + 0x44], 0
je 0x420682
mov eax, dword [0x4d89c0]
mov ecx, dword [eax + 0xb4]
cmp byte [ecx + 0x3c], 0
jne 0x420682
mov ebx, dword [esp + 0x18]
cmp ebx, 0x62
je 0x420656
cmp ebx, 0x42
setne al
add al, 0x41
mov byte [ecx + 0x3c], al
mov eax, dword [esi + 4]
test eax, eax
je 0x4206d9
mov al, byte [eax]
cmp al, 9
jb 0x420667
cmp al, 0x20
jbe 0x42067b
cmp al, 0x21
je 0x42067b
cmp al, 0x69
jb 0x420673
cmp al, 0x6b
jbe 0x42067b
cmp al, 0x6f
jb 0x4206d9
cmp al, 0x71
ja 0x4206d9
mov byte [esp + 0x2b], 1
jmp 0x4206de
mov eax, dword [0x4d89c0]
mov eax, dword [eax + 0xb4]
test eax, eax
je 0x420656
movzx eax, byte [eax + 0x3c]
mov ebx, dword [esp + 0x18]
cmp ebx, eax
jne 0x420656
cmp ebx, 0x41
jne 0x4206bb
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
push str.Global_variables_must_not_be_declared_in_this_function.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp ebx, 0x42
jne 0x420656
mov edi, dword [ebp + 8]
mov ecx, esi
push edi
push str.Local_variables_must_not_be_declared_in_this_function.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov byte [esp + 0x2b], 0
cmp word [edi], 0
mov byte [esp + 0x17], 0
je 0x420b04
nop dword [eax]
mov edx, str.___t:
mov ecx, edi
call fcn.004053e1
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x420726
mov ecx, edi
lea edx, [ecx + 2]
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420710
sub ecx, edx
sar ecx, 1
lea eax, [edi + ecx*2]
mov dword [esp + 0x2c], eax
mov ecx, dword [0x4d89c0]
mov ebx, eax
add ecx, 0xb4
sub ebx, edi
sar ebx, 1
mov eax, dword [ecx]
test eax, eax
je 0x42082f
xor esi, esi
cmp dword [eax + 0x10], esi
jle 0x42078f
xor edx, edx
mov dword [esp + 0x20], edx
nop
mov eax, dword [ecx]
mov ecx, edi
push 0xffffffffffffffff
push ebx
mov eax, dword [eax + 0xc]
mov edx, dword [eax + edx]
mov edx, dword [edx + 0x18]
call fcn.00478380
add esp, 8
test eax, eax
je 0x420a2c
mov ecx, dword [0x4d89c0]
inc esi
mov edx, dword [esp + 0x20]
add ecx, 0xb4
add edx, 0x10
mov dword [esp + 0x20], edx
mov eax, dword [ecx]
cmp esi, dword [eax + 0x10]
jl 0x420750
mov esi, dword [esp + 0x10]
mov ecx, esi
push 0
push 2
push 0
push ebx
push edi
call fcn.00428e90
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x1c], eax
test eax, eax
je 0x4207d0
movzx eax, byte [eax + 0x16]
xor eax, ecx
test eax, 0xffffffbf
jne 0x420a44
cmp ecx, 0x62
je 0x420a44
mov dword [esp + 0x1c], 0
cmp ecx, 0x41
je 0x4208b5
mov eax, dword [0x4d89c0]
xor esi, esi
mov eax, dword [eax + 0xb4]
cmp dword [eax + 0x34], esi
jle 0x42081f
nop dword [eax + eax]
mov eax, dword [eax + 0x24]
mov edx, edi
push ebx
push 0xffffffffffffffff
mov ecx, dword [eax + esi*4]
mov ecx, dword [ecx + 0x18]
call fcn.00478380
add esp, 8
test eax, eax
mov eax, dword [0x4d89c0]
mov eax, dword [eax + 0xb4]
je 0x4208aa
inc esi
cmp esi, dword [eax + 0x34]
jl 0x4207f0
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x10]
test eax, eax
jne 0x420a48
push dword [esp + 0x18]
mov ecx, esi
push ebx
push edi
call fcn.00428e30
mov esi, eax
test esi, esi
je 0x420ab8
mov al, byte [esi + 0x17]
test al, al
jne 0x420853
mov eax, dword [esi + 0xc]
mov al, byte [eax + 0x17]
cmp al, 1
jne 0x420ac3
push 0xffffffffffffffff
push ebx
mov edx, 0x4caf9c
mov ecx, edi
call fcn.00478380
add esp, 8
test eax, eax
je 0x420ac3
mov ebx, dword [esp + 0x18]
cmp ebx, 0x41
jne 0x4208be
mov ecx, dword [0x4d89c0]
mov eax, dword [ecx + 0xb4]
mov edx, dword [eax + 0x34]
cmp edx, 0x7d0
jge 0x420a6c
mov eax, dword [eax + 0x24]
mov dword [eax + edx*4], esi
mov eax, dword [ecx + 0xb4]
inc dword [eax + 0x34]
jmp 0x4208c9
mov eax, dword [eax + 0x24]
mov eax, dword [eax + esi*4]
jmp 0x420823
mov eax, dword [esp + 0x1c]
jmp 0x420827
cmp ebx, 0xc1
jne 0x4208c9
mov byte [esi + 0x16], bl
mov ecx, dword [esp + 0x2c]
call fcn.0040e490
mov esi, eax
movzx eax, word [esi]
cmp eax, 0x3d
ja case.0x4208e3.1
movzx eax, byte [eax + 0x4220b0]
jmp dword [eax*4 + 0x42209c]
cmp word [esi + 2], 0x3d
jne 0x420a84
add esi, 4
mov byte [esp + 0xf], 0
push 0
push 0
mov edx, 0x2c
mov ecx, esi
call fcn.0047a770
add esp, 8
mov ecx, edi
lea esi, [esi + eax*2]
lea edx, [esi - 2]
call fcn.0040e4b0
movzx ecx, word [eax + 2]
add eax, 2
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov dword [esp + 0x20], eax
mov word [eax], cx
cmp byte [esp + 0xf], cl
je 0x42097a
lea ecx, [esp + 0x8cf8]
sub ecx, edi
movzx eax, word [edi]
lea edi, [edi + 2]
mov word [ecx + edi - 2], ax
test ax, ax
jne 0x420940
push 0
push 0
push 0xffffffffffffffff
push 1
push 1
push 0x4c6140
mov edx, 0x4c613c
lea ecx, [esp + 0x8d10]
call fcn.00478ae0
add esp, 0x18
lea edi, [esp + 0x8cf8]
cmp ebx, 0x62
jne 0x420996
mov ecx, dword [esp + 0x10]
mov byte [ecx + 0x45], 1
jmp 0x4209c2
add esi, 2
mov byte [esp + 0xf], 1
jmp 0x4208fd
cmp byte [esp + 0x2b], 0
je 0x4209c2
cmp byte [esp + 0x17], 0
jne 0x4209c2
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
push 0x73
call fcn.004225a0
test eax, eax
je 0x420ab8
mov byte [esp + 0x17], 1
push 0
push 0
push 0
push 0
push 0
push 0
push edi
mov edi, dword [esp + 0x2c]
mov ecx, edi
call fcn.004204e0
test eax, eax
je 0x420ab8
cmp ebx, 0x62
jne 0x4209fa
mov ecx, dword [edi + 4]
mov byte [edi + 0x45], 0
movzx eax, byte [ecx]
mov dword [ecx + 0xc], eax
mov eax, dword [edi + 4]
mov byte [eax], 8
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov word [eax], cx
cmp word [esi], 0x2c
jne case.0x4208e3.0
lea ecx, [esi + 2]
call fcn.0040e490
mov edi, eax
jmp 0x420a19
mov edi, esi
cmp word [edi], 0
je 0x420a9c
mov esi, dword [esp + 0x10]
jmp 0x4206f0
mov ecx, dword [esp + 0x10]
push edi
push str.Parameters_must_not_be_declared.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, dword [esp + 0x1c]
mov al, byte [eax + 0x16]
mov ecx, str.Declaration_conflicts_with_existing_var.
test al, 0x40
mov eax, str.Duplicate_declaration.
push edi
cmove eax, ecx
mov ecx, esi
push eax
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
push edi
push str.Too_many_declarations.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
push edi
push str.This_line_does_not_contain_a_recognized_action.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp byte [esp + 0x17], 0
je 0x420b04
mov ecx, dword [esp + 0x10]
push 0
push 0
push 0
push 0x74
call fcn.004225a0
test eax, eax
jne 0x420b04
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
push edi
push str.Built_in_variables_must_not_be_declared.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edi, dword [ebp + 8]
cmp byte [esi + 0x44], 0
je 0x420b2c
mov eax, dword [0x4d89c0]
mov eax, dword [eax + 0xb4]
mov cl, byte [eax + 0x3c]
test cl, cl
jne 0x420b12
cmp edx, 0x42
mov ecx, 0x46
cmove edx, ecx
mov byte [eax + 0x3c], dl
mov eax, 1
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
cmp cl, 0x46
jne 0x420b2c
cmp edx, 0x62
jne 0x420b2c
mov byte [eax + 0x3c], 0x66
lea eax, [edx - 0x61]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
push edi
push str.This_line_does_not_contain_a_recognized_action.
mov ecx, esi
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov edi, dword [ebp + 8]
push 1
push edi
lea eax, [esp + 0xf8]
mov ecx, esi
push eax
call fcn.00422360
mov dword [ebp + 0x18], eax
test eax, eax
je 0x420ab8
lea ecx, [eax + 2]
mov esi, ecx
movzx eax, word [esi]
cmp eax, 0x20
je 0x420b74
cmp eax, 9
jne 0x420b79
add esi, 2
jmp 0x420b67
movzx eax, word [ecx]
mov dword [esp + 0x30], esi
cmp ax, word [0x4d9ba8]
je 0x420bd3
test ax, ax
je 0x420bd3
cmp eax, 0x20
je 0x420bd3
cmp eax, 9
je 0x420bd3
cmp eax, 0x28
jne 0x420bcf
lea eax, [esp + 0xf0]
push 0x4caff0
push eax
call fcn.0049466a
add esp, 8
test eax, eax
je 0x420bd3
lea eax, [esp + 0xf0]
push str.WHILE
push eax
call fcn.0049466a
add esp, 8
test eax, eax
je 0x420bd3
xor cl, cl
jmp 0x420bd5
mov cl, 1
mov ax, word [esi]
mov edi, 0x20
mov byte [esp + 0x17], cl
mov byte [esp + 0xf], 0
cmp ax, word [0x4d9ba8]
jne 0x420c14
movzx eax, word [esi + 2]
add esi, 2
mov dword [esp + 0x30], esi
cmp eax, 0x20
je 0x420bef
cmp eax, 9
je 0x420bef
mov edi, dword [ebp + 8]
test bl, bl
je 0x421338
jmp 0x4214c3
test bl, bl
jne 0x4214c3
mov al, byte [ebp + 0x10]
test al, al
jne 0x421330
test cl, cl
je 0x42105a
lea eax, [esp + 0xf0]
push 0x4caff0
push eax
call fcn.0049466a
add esp, 8
test eax, eax
jne 0x42105a
movzx eax, word [esi]
cmp eax, 0x28
je case.0x420d4e.34
cmp ax, word [0x4d9ba4]
jne 0x420c77
movzx eax, word [esi + 2]
cmp eax, 0x20
je case.0x420d4e.34
cmp eax, 9
je case.0x420d4e.34
mov ax, word [0x4d9ba8]
lea edx, [esp + 0x40]
mov ecx, esi
mov word [esp + 0x40], di
mov word [esp + 0x42], ax
mov dword [esp + 0x44], 0x90028
mov dword [esp + 0x48], 0x3e003c
mov dword [esp + 0x4c], 0x3d003a
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.004053e1
test eax, eax
je 0x420cf1
mov ecx, eax
call fcn.0040e490
mov edi, eax
jmp 0x420d08
mov ecx, esi
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x420cf6
sub ecx, edx
sar ecx, 1
lea edi, [esi + ecx*2]
push 3
push 0x4c865c
push esi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x420d36
movzx eax, word [esi + 6]
push eax
lea eax, [esp + 0x44]
push eax
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x420d36
mov bh, 1
jmp 0x420d38
xor bh, bh
movzx eax, word [edi]
add eax, 0xffffffdf
cmp eax, 0x4d
ja case.0x420d4e.34
movzx eax, byte [eax + 0x422114]
jmp dword [eax*4 + 0x4220f0]
mov ax, word [0x4d9ba8]
mov bl, 0x12
mov word [edi], ax
jmp 0x4214c0
movzx eax, word [edi + 2]
sub eax, 0x3d
je 0x420d7a
sub eax, 1
je 0x420da7
mov bl, 0x16
jmp 0x420f75
mov eax, 0x20
mov bl, 0x17
mov word [edi + 2], ax
jmp 0x420f75
cmp word [edi + 2], 0x3d
jne 0x420d95
mov bl, 0x15
jmp 0x420da9
mov bl, 0x14
jmp 0x420f75
cmp word [edi + 2], 0x3d
jne case.0x420d4e.34
mov bl, 0x13
mov eax, 0x20
mov word [edi + 2], ax
mov ax, word [0x4d9ba8]
mov word [edi], ax
jmp 0x4214c0
test bh, bh
jne case.0x420d4e.34
push 7
push str.between
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne case.0x420d4e.34
mov eax, 0x200020
mov bl, 0xf
mov dword [edi], eax
mov dword [edi + 4], eax
mov dword [edi + 8], eax
mov word [edi + 0xc], ax
jmp 0x420f75
test bh, bh
jne case.0x420d4e.34
push 8
push str.contains
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne case.0x420d4e.34
movaps xmm0, xmmword [0x4d3210]
mov bl, 0xb
movups xmmword [edi], xmm0
jmp 0x420f75
mov cx, word [edi + 2]
call fcn.0040e460
movzx eax, ax
add eax, 0xffffffb2
cmp eax, 0x25
ja case.0x420d4e.34
movzx eax, byte [eax + 0x422170]
jmp dword [eax*4 + 0x422164]
test bh, bh
jne case.0x420d4e.34
lea ecx, [edi + 4]
call fcn.0040e490
push 3
push 0x4cbd64
push eax
mov dword [esp + 0x2c], eax
call fcn.00495d63
add esp, 0xc
test eax, eax
je 0x420e7b
mov bl, 0xd
jmp 0x420e8c
mov eax, dword [esp + 0x20]
mov ecx, 0x200020
mov bl, 0xe
mov dword [eax], ecx
mov word [eax + 4], cx
mov byte [ebp + 0xc], bl
mov eax, 0x20
mov word [edi + 2], ax
cmp bl, 0x11
jne 0x420f78
jmp 0x421015
test bh, bh
jne case.0x420d4e.34
mov eax, 0x20
mov bl, 9
mov word [edi + 2], ax
jmp 0x420f75
push 3
push 0x4cbd64
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne case.0x420d4e.34
movzx eax, word [edi + 6]
lea ecx, [edi + 6]
cmp eax, 0x20
je 0x420eeb
cmp eax, 9
jne case.0x420d4e.34
mov eax, 0x200020
mov dword [edi], eax
mov word [edi + 4], ax
call fcn.0040e490
push 2
push 0x4c6178
push eax
mov dword [esp + 0x30], eax
call fcn.00495d63
add esp, 0xc
test eax, eax
mov eax, dword [esp + 0x24]
jne 0x420f21
mov bl, 0xa
mov dword [eax], 0x200020
jmp 0x420f75
push 7
push str.between
push eax
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x420f4e
mov eax, dword [esp + 0x24]
mov ecx, 0x200020
mov bl, 0x10
mov dword [eax], ecx
mov dword [eax + 4], ecx
mov dword [eax + 8], ecx
mov word [eax + 0xc], cx
jmp 0x420f75
push 8
push str.contains
push dword [esp + 0x2c]
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x420f78
mov eax, dword [esp + 0x24]
mov bl, 0xc
movaps xmm0, xmmword [0x4d3210]
movups xmmword [eax], xmm0
mov byte [ebp + 0xc], bl
mov ax, word [0x4d9ba8]
mov word [edi], ax
cmp bl, 0xf
je 0x420f8f
cmp bl, 0x10
jne 0x420c04
mov edx, 0x4cb0c8
mov ecx, edi
call fcn.004786c0
mov edi, eax
test edi, edi
je 0x420fe0
movzx eax, word [edi - 2]
push eax
push 0x4c89b4
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x420fcd
movzx eax, word [edi + 6]
push eax
push 0x4c89b4
call fcn.00492ca4
add esp, 8
test eax, eax
jne 0x420ffb
lea ecx, [edi + 6]
mov edx, 0x4cb0c8
call fcn.004786c0
mov edi, eax
test edi, edi
jne 0x420fa1
mov edi, dword [ebp + 8]
mov ecx, dword [esp + 0x10]
push edi
push str.BETWEEN_requires_the_word_AND.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ax, word [0x4d9ba8]
mov word [edi], ax
mov dword [edi + 2], 0x200020
jmp 0x420c04
mov bl, 0x11
mov byte [ebp + 0xc], bl
mov ecx, esi
lea edx, [ecx + 2]
nop word [eax + eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421020
sub ecx, edx
sar ecx, 1
lea edx, [ecx - 1]
cmp word [esi + edx*2], 0x7b
lea edx, [esi + edx*2]
jne 0x4214c3
xor eax, eax
mov ecx, esi
mov word [edx], ax
sub edx, esi
sar edx, 1
call fcn.00417d60
mov byte [esp + 0xf], 1
jmp 0x4214c3
movzx ecx, word [esi]
lea edi, [esi + 2]
movzx edx, word [edi]
lea eax, [ecx - 0x26]
cmp eax, 0x56
ja case.0x421076.39
movzx eax, byte [eax + 0x4221c0]
jmp dword [eax*4 + 0x422198]
mov ax, word [0x4d9ba8]
mov bl, 1
mov edi, dword [ebp + 8]
mov word [esi], ax
mov esi, edi
mov byte [ebp + 0xc], bl
mov dword [esp + 0x30], esi
jmp 0x420c07
cmp edx, 0x3d
setne bl
dec bl
and bl, 2
jmp 0x4211bd
cmp word [esp + 0xf0], 0x2b
jne 0x4210c5
cmp word [esp + 0xf2], 0
jne 0x4210c5
mov al, 1
mov bl, 4
jmp 0x4210fb
xor al, al
cmp edx, 0x3d
jne case.0x421076.39
mov bl, 4
jmp 0x4210fb
cmp word [esp + 0xf0], 0x2d
jne 0x4210ee
cmp word [esp + 0xf2], 0
jne 0x4210ee
mov al, 1
jmp 0x4210f9
xor al, al
cmp edx, 0x3d
jne case.0x421076.39
mov bl, 5
mov byte [ebp + 0xc], bl
test al, al
je 0x4211c8
mov ecx, edi
call fcn.0040e490
mov edi, eax
mov edx, str.__t____:_______._
mov ecx, edi
call fcn.004053e1
test eax, eax
jne 0x42131d
mov esi, edi
lea ecx, [esi + 2]
nop dword [eax + eax]
mov ax, word [esi]
add esi, 2
test ax, ax
jne 0x421130
sub esi, ecx
sar esi, 1
lea eax, [esi*2 + 2]
push eax
push edi
mov edi, dword [ebp + 8]
push edi
call fcn.00492730
mov ax, word [0x4d9ba8]
add esp, 0xc
mov word [edi + esi*2], ax
xor eax, eax
mov dword [edi + esi*2 + 2], 0x31
mov esi, edi
mov dword [esp + 0x30], esi
jmp 0x420c07
mov ecx, 6
jmp 0x4211b2
cmp edx, 0x3d
jne 0x421186
mov bl, 7
mov byte [ebp + 0xc], bl
jmp 0x4211d6
cmp edx, 0x2f
jne case.0x421076.39
cmp word [esi + 4], 0x3d
mov edi, dword [ebp + 8]
jne 0x421338
mov bl, 3
mov esi, edi
mov byte [ebp + 0xc], bl
mov dword [esp + 0x30], esi
jmp 0x420c07
mov ecx, 3
cmp edx, 0x3d
movzx eax, bl
cmovne ecx, eax
mov bl, cl
mov byte [ebp + 0xc], bl
test bl, bl
je case.0x421076.39
cmp bl, 3
je 0x421322
cmp bl, 1
je 0x42121e
mov edx, dword [0x4d9ba8]
mov ecx, esi
push 0
push 2
call fcn.0047a770
add esp, 8
cmp word [esi + eax*2], 0
lea ecx, [esi + eax*2]
je 0x42121e
cmp bl, 4
je 0x421202
cmp bl, 5
jne 0x42131d
add ecx, 2
call fcn.0040e490
mov edx, str.__t____:_______._
mov ecx, eax
call fcn.004053e1
test eax, eax
jne 0x42131d
cmp bl, 3
je 0x421322
mov ax, word [0x4d9ba8]
mov word [esi], ax
cmp bl, 1
je 0x421322
mov eax, 0x20
mov word [edi], ax
mov edi, dword [ebp + 8]
mov esi, edi
mov dword [esp + 0x30], esi
jmp 0x420c07
cmp dx, cx
jne case.0x421076.39
cmp word [esi + 4], 0x3d
mov edi, dword [ebp + 8]
jne 0x421338
mov bl, 3
mov esi, edi
mov byte [ebp + 0xc], bl
mov dword [esp + 0x30], esi
jmp 0x420c07
cmp edx, 0x3d
je 0x42131d
mov ecx, edi
call fcn.00436a00
cmp word [eax], 0x28
je 0x42131d
cmp eax, edi
je case.0x421076.39
mov ecx, eax
call fcn.0040e490
mov edi, eax
movzx eax, word [edi]
cmp eax, 0x5b
je 0x42131d
test ax, ax
je 0x42131d
cmp word [edi + 2], 0x3d
lea ecx, [edi + 2]
mov dword [esp + 0x34], ecx
jne 0x4212d2
push eax
push str.:__.
call fcn.00492ca4
add esp, 8
test eax, eax
jne 0x42131d
mov ecx, dword [esp + 0x34]
movzx eax, word [edi]
cmp word [ecx], ax
jne 0x421304
push eax
push 0x4cbdc0
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x4212f3
cmp word [edi + 4], 0x3d
je 0x42131d
movzx eax, word [edi]
cmp eax, 0x2b
je 0x42131d
cmp eax, 0x2d
je 0x42131d
mov ecx, dword [esp + 0x34]
cmp ax, 0x2e
jne case.0x421076.39
call fcn.00436a00
mov edi, dword [esp + 0x34]
cmp word [eax], 0x28
jne 0x421290
mov bl, 3
mov byte [ebp + 0xc], bl
mov edi, dword [ebp + 8]
mov esi, edi
mov dword [esp + 0x30], esi
jmp 0x420c07
mov edi, dword [ebp + 8]
jmp 0x42133b
mov edi, dword [ebp + 8]
mov al, byte [ebp + 0x10]
cmp byte [esp + 0x17], 0
je 0x421370
test al, al
jne 0x421370
lea ecx, [esp + 0xf0]
call fcn.00422480
mov bl, al
mov byte [ebp + 0xc], bl
test bl, bl
jne 0x4214c3
lea ecx, [esp + 0xf0]
call fcn.004224c0
mov byte [ebp + 0x10], al
jmp 0x421378
test bl, bl
jne 0x4214c3
test al, al
jne 0x4214c3
cmp word [esi], 0x7b
jne case.0x4213a6.34
lea ecx, [esp + 0xf0]
call fcn.00422480
mov bl, al
movzx eax, bl
add eax, 0xffffffdf
cmp eax, 0x50
ja case.0x4213a6.34
movzx eax, byte [eax + 0x422224]
jmp dword [eax*4 + 0x422218]
cmp word [esi + 2], 0
mov byte [esp + 0xf], 1
jne case.0x4213a6.34
mov byte [ebp + 0xc], bl
test bl, bl
jne 0x4214c3
movzx eax, word [esi]
push eax
push str.__t____:_______._
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x42144f
movzx eax, word [esi]
cmp eax, 0x2b
je 0x4213e6
cmp eax, 0x2d
jne 0x421428
cmp word [esi + 2], ax
jne 0x421428
cmp word [esi + 4], 0
je 0x4213f7
mov bl, 3
jmp 0x421412
cmp eax, 0x2b
mov ax, word [0x4d9ba8]
mov word [esi], ax
mov eax, 0x31
setne bl
mov word [esi + 2], ax
add bl, 4
mov edi, dword [ebp + 8]
mov esi, edi
mov byte [ebp + 0xc], bl
mov dword [esp + 0x30], esi
test bl, bl
jne 0x4214c3
jmp 0x421452
cmp eax, 0x3f
je 0x4214b8
push 0x3f
push esi
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x42144f
push 0x3a
push eax
call fcn.00492ca4
add esp, 8
test eax, eax
jne 0x4214b8
mov edi, dword [ebp + 8]
movzx eax, word [esi]
cmp eax, 0x28
je 0x4214b8
cmp eax, 0x5b
je 0x4214b8
cmp word [edi], 0x28
je 0x4214b8
push 3
push 0x4cbdfc
push edi
call fcn.00495d63
add esp, 0xc
test eax, eax
jne 0x421487
movzx eax, word [edi + 6]
cmp eax, 0x20
je 0x4214b8
cmp eax, 9
je 0x4214b8
push 0x4cb108
push edi
call fcn.004930fb
add esp, 8
mov edx, str.This_line_does_not_contain_a_recognized_action.
test eax, eax
mov ecx, str.Invalid_hotkey.
cmove ecx, edx
push edi
push ecx
mov ecx, dword [esp + 0x18]
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov esi, edi
mov bl, 3
mov dword [esp + 0x30], esi
mov byte [ebp + 0xc], bl
movzx ecx, bl
lea eax, [ecx - 0x21]
cmp eax, 0x50
ja case.0x4214d5.34
movzx eax, byte [eax + 0x422284]
jmp dword [eax*4 + 0x422278]
cmp word [esi], 0x7b
jne case.0x4214d5.34
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push 0
push 0
push 0
push dword [ebp + 0xc]
call fcn.004225a0
test eax, eax
je 0x420ab8
cmp word [esi], 0x7b
jne 0x421525
push 0
push 0
push 0
push 0x73
mov ecx, ebx
call fcn.004225a0
test eax, eax
je 0x420ab8
lea ecx, [esi + 2]
call fcn.0040e490
mov esi, eax
cmp word [esi], 0
je 0x420b04
push 0
push 0
push 0
push 0
push 0
push 0
push esi
mov ecx, ebx
call fcn.004204e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
test bl, bl
je 0x421566
lea eax, [ecx*8]
sub eax, ecx
lea edi, [eax*2 + 0x4d8e68]
mov dword [esp + 0x24], edi
jmp 0x42157e
movzx ecx, byte [ebp + 0x10]
lea eax, [ecx*8]
sub eax, ecx
lea eax, [eax*2 + 0x4d8da0]
mov dword [esp + 0x24], eax
push 0x8002
lea eax, [esp + 0xcf4]
push 0
push eax
call fcn.00493930
mov edx, dword [ebp + 0x1c]
add esp, 0xc
test edx, edx
je 0x421605
mov eax, dword [ebp + 0x20]
mov ecx, esi
sub ecx, dword [ebp + 0x18]
sar ecx, 1
sub eax, ecx
test eax, eax
jle 0x4215c3
add eax, eax
push eax
lea eax, [edx + ecx*2]
push eax
lea eax, [esp + 0xcf8]
push eax
call fcn.004ab450
add esp, 0xc
xor edx, edx
mov dword [esp + 0x1c], edx
cmp bl, 0x22
jne 0x421a05
xor edi, edi
mov eax, 1
mov dword [esp + 0x18], eax
cmp word [esi], dx
je 0x4217e0
cmp eax, 1
lea ecx, [edi + 1]
cmovle ecx, edi
nop
movzx eax, word [esi + ecx*2]
cmp eax, 0x20
je 0x421602
cmp eax, 9
jne 0x4216d5
inc ecx
jmp 0x4215f0
xor edi, edi
cmp word [esi + edi*2], 0
lea eax, [esi + edi*2]
mov ecx, 7
je 0x421635
mov cx, word [0x4d9ba0]
nop dword [eax]
cmp word [eax], cx
je 0x421630
inc edi
cmp word [esi + edi*2], 0
lea eax, [esi + edi*2]
jne 0x421620
mov ecx, 7
lea eax, [edi + edi]
cmp word [eax + esi], 0
je 0x4215c3
lea edx, [eax + 2]
movzx eax, word [edx + esi]
add edx, esi
add eax, 0xffffff9f
cmp eax, 0x15
ja case.0x421657.99
movzx eax, byte [eax + 0x4222f8]
jmp dword [eax*4 + 0x4222d8]
mov word [edx], cx
jmp case.0x421657.99
mov eax, 8
jmp 0x42168b
mov eax, 0xc
jmp 0x42168b
mov eax, 0xa
jmp 0x42168b
mov eax, 0xd
jmp 0x42168b
mov eax, 9
jmp 0x42168b
mov eax, 0xb
mov word [edx], ax
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x20], eax
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421697
sub ecx, dword [esp + 0x20]
sar ecx, 1
lea eax, [ecx*2 + 2]
push eax
lea eax, [edi + edi]
push edx
add eax, esi
push eax
call fcn.004ab450
lea eax, [edi + edi]
mov ecx, 1
add esp, 0xc
mov word [esp + eax + 0xcf0], cx
inc edi
jmp 0x421607
lea edx, [ecx + ecx]
movzx edi, word [edx + esi]
lea eax, [edx + esi]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edi
cmp di, word [0x4d9ba4]
jne 0x42173b
cmp word [esp + edx + 0xcf0], 0
jne 0x42173b
movzx edi, word [eax + 2]
cmp edi, 0x20
je 0x421709
cmp edi, 9
jne 0x42173b
cmp dword [esp + 0x18], 3
jge 0x4217dc
mov edx, dword [0x4d9ba8]
lea eax, [esp + 0xcf0]
push eax
lea eax, [ecx + 2]
mov ecx, esi
push eax
call fcn.0047a770
mov edi, eax
add esp, 8
mov eax, dword [esp + 0x18]
jmp 0x4217cc
cmp word [esp + 0x20], 0
mov edi, ecx
je 0x421775
nop word [eax + eax]
mov ax, word [eax]
cmp ax, word [0x4d9ba8]
jne 0x421767
cmp word [esp + edx + 0xcf0], 0
je 0x421775
inc edi
lea edx, [edi + edi]
cmp word [edx + esi], 0
lea eax, [edx + esi]
jne 0x421750
mov eax, dword [esp + 0x18]
cmp eax, 1
jne 0x4217c3
cmp word [esi + edi*2], 0
je 0x4217dc
mov ecx, dword [esp + 0x2c]
xor eax, eax
push eax
push eax
push 1
xor edx, edx
mov word [esi + edi*2], ax
call fcn.00478130
mov edx, dword [esp + 0x28]
add esp, 0xc
test eax, eax
mov eax, 1
cmove edx, eax
mov ax, word [0x4d9ba8]
mov dword [esp + 0x1c], edx
mov word [esi + edi*2], ax
test edx, edx
jne 0x4217e0
mov eax, dword [esp + 0x18]
jmp 0x4217cc
cmp eax, 4
je 0x421983
inc eax
cmp word [esi + edi*2], 0
mov dword [esp + 0x18], eax
jne 0x4215e6
mov edx, dword [esp + 0x1c]
xor bh, bh
mov byte [esp + 0x38], 0
mov byte [esp + 0x20], bh
mov dword [esp + 0x2c], 0
mov dword [esp + 0x34], 0
test edx, edx
jne 0x42180b
mov eax, dword [esp + 0x24]
movsx edx, byte [eax + 5]
mov dword [esp + 0x1c], edx
xor ecx, ecx
lea eax, [edx - 1]
xor edi, edi
mov dword [esp + 0x90], eax
mov dword [esp + 0x18], ecx
cmp word [esi], cx
je 0x421bd8
cmp ecx, edx
jge 0x421bd8
cmp ecx, 2
jne 0x421894
mov al, bl
sub al, 0x18
cmp al, 3
ja 0x42188c
mov ecx, dword [esp + 0x10]
lea eax, [esi + edi*2]
push 0
push eax
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x2f8]
push eax
call fcn.00422360
mov dword [esp + 0x2c], eax
test eax, eax
je 0x421888
lea ecx, [esp + 0x2f0]
call fcn.00422480
mov byte [esp + 0x38], al
test al, al
jne 0x421bd8
lea ecx, [esp + 0x2f0]
call fcn.004224c0
mov bh, al
mov byte [esp + 0x20], bh
mov ecx, dword [esp + 0x18]
test bh, bh
jne 0x421bd8
lea edx, [edi + edi]
lea eax, [edx + esi]
lea esi, [esp + 0x40]
mov dword [esp + 0x98], eax
lea esi, [esi + ecx*4]
mov dword [esi], eax
mov dword [esp + 0x3c], esi
lea esi, [esp + 0xa0]
lea esi, [esi + ecx*4]
mov dword [esp + 0x9c], esi
lea esi, [esp + 0xcf0]
add esi, edx
mov dword [esp + ecx*4 + 0xa0], esi
mov esi, dword [esp + 0x30]
cmp ecx, dword [esp + 0x90]
je 0x421bd3
mov ax, word [eax]
cmp ax, word [0x4d9ba4]
jne 0x421911
lea eax, [esp + 0xcf0]
cmp word [eax + edx], 0
jne 0x421911
movzx eax, word [edx + esi + 2]
cmp eax, 0x20
je case.0x42197c.2
cmp eax, 9
je case.0x42197c.2
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x18]
add ecx, 7
inc eax
mov dword [esp + 0x94], eax
mov al, byte [ecx]
test al, al
je 0x421948
nop word [eax + eax]
movzx eax, al
cmp eax, dword [esp + 0x94]
je 0x421af2
mov al, byte [ecx + 1]
inc ecx
test al, al
jne 0x421930
cmp bl, 0x2b
jne 0x421b3f
mov eax, dword [esp + 0x18]
cmp eax, 2
je 0x421963
cmp eax, 3
jne 0x421b3f
mov ecx, dword [esp + 0x44]
call fcn.004192f0
cmp eax, 5
ja case.0x42197c.2
movzx eax, byte [eax + 0x422318]
jmp dword [eax*4 + 0x422310]
push 0
lea eax, [ecx + ecx]
xor edx, edx
push 1
lea ecx, [esi + eax]
mov dword [esp + 0x28], eax
push 1
call fcn.00478130
add esp, 0xc
test eax, eax
jne 0x4217dc
cmp word [esi + edi*2], ax
jne 0x4219f7
mov ecx, dword [esp + 0x20]
mov ax, word [0x4d9ba4]
cmp word [ecx + esi], ax
jne 0x4219f7
cmp word [esp + ecx + 0xcf0], 0
jne 0x4219f7
movzx eax, ax
push eax
lea eax, [ecx + 2]
add eax, esi
push eax
call fcn.00492ca4
add esp, 8
test eax, eax
je 0x4219f7
push 0
push 1
push 1
lea ecx, [eax + 2]
xor edx, edx
call fcn.00478130
add esp, 0xc
test eax, eax
jne 0x4217dc
mov edx, 3
mov dword [esp + 0x1c], edx
jmp 0x4217e0
cmp bl, 0x6a
jne 0x4217e0
mov edi, esi
cmp word [esi], dx
je 0x421a5d
movzx eax, word [edi]
cmp eax, 0x20
je 0x421a22
cmp eax, 9
jne 0x421a54
movzx eax, word [edi + 2]
push eax
call fcn.0049e3b8
add esp, 4
cmp eax, 0x69
jne 0x421a54
movzx eax, word [edi + 4]
push eax
call fcn.0049e3b8
add esp, 4
cmp eax, 0x6e
jne 0x421a54
movzx eax, word [edi + 6]
cmp eax, 0x20
je 0x421a5d
cmp eax, 9
je 0x421a5d
add edi, 2
cmp word [edi], 0
jne 0x421a15
cmp word [edi], 0
jne 0x421a7d
push dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push str.This__For__is_missing_its__in_.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, edi
mov edx, 1
sub ecx, esi
sar ecx, 1
test ecx, ecx
jle 0x421aa3
nop dword [eax]
mov ax, word [esi + ecx*2]
cmp ax, word [0x4d9ba8]
jne 0x421a9e
inc edx
dec ecx
test ecx, ecx
jg 0x421a90
mov ax, word [0x4d9ba8]
mov word [edi + 2], ax
cmp edx, 1
jle 0x421ae1
cmp edx, 2
jle 0x421ad1
push dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push str.Syntax_error_or_too_many_variables_in__For__statement.
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov eax, 0x20
xor edx, edx
mov word [edi + 4], ax
jmp 0x4217e0
mov ax, word [0x4d9ba8]
xor edx, edx
mov word [edi + 4], ax
jmp 0x4217e0
cmp byte [ecx], 0
je 0x421948
cmp bl, 0x84
jne case.0x42197c.2
cmp dword [esp + 0x18], 1
jle case.0x42197c.2
push 0x4cbf94
push dword [esp + 0x9c]
call fcn.0049466a
add esp, 8
test eax, eax
je case.0x42197c.0
mov edx, dword [0x4d9ba8]
lea eax, [esp + 0xcf0]
push eax
push edi
mov ecx, esi
call fcn.0047a770
add esp, 8
mov edi, eax
jmp 0x421b71
lea edx, [edi + edi]
lea eax, [edx + esi]
movzx eax, word [eax]
test ax, ax
je 0x421b71
nop word [eax + eax]
cmp ax, word [0x4d9ba8]
jne 0x421b64
cmp word [esp + edx + 0xcf0], 0
je 0x421b71
inc edi
lea edx, [edi + edi]
movzx eax, word [edx + esi]
test ax, ax
jne 0x421b50
cmp word [esi + edi*2], 0
je 0x421bba
mov ecx, dword [esp + 0x3c]
xor eax, eax
mov word [esi + edi*2], ax
mov eax, dword [esp + 0x9c]
mov ecx, dword [ecx]
mov edx, dword [eax]
call fcn.00417dc0
inc edi
lea edx, [esp + 0xcf0]
sub edx, esi
lea eax, [esi + edi*2]
nop
movzx ecx, word [eax]
cmp ecx, 0x20
je 0x421bad
cmp ecx, 9
jne 0x421bba
cmp word [edx + eax], 0
jne 0x421bba
inc edi
add eax, 2
jmp 0x421ba0
mov ecx, dword [esp + 0x18]
inc ecx
cmp word [esi + edi*2], 0
mov dword [esp + 0x18], ecx
je 0x421bd8
mov edx, dword [esp + 0x1c]
jmp 0x421826
inc ecx
mov dword [esp + 0x18], ecx
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
mov cl, byte [eax + 4]
movsx edx, cl
cmp edi, edx
jge 0x421c39
cmp cl, 1
mov eax, 0x4cbed8
mov esi, 0x4c602c
cmovle eax, esi
push eax
mov eax, dword [esp + 0x28]
push edx
push dword [eax]
lea eax, [esp + 0x4fc]
push str.__s__requires_at_least__d_parameter_s.
push 0x400
push eax
call fcn.004782d0
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x508]
add esp, 0x18
push dword [ebp + 8]
push eax
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
xor ecx, ecx
test edx, edx
jle 0x421c4f
nop
mov eax, dword [esp + ecx*4 + 0x40]
cmp word [eax], 0
je 0x421c6e
inc ecx
cmp ecx, edx
jl 0x421c40
mov cl, byte [ebp + 0x10]
test cl, cl
je case.default.0x421c67
movzx eax, cl
dec eax
cmp eax, 0xc
ja case.default.0x421c67
jmp dword [eax*4 + 0x422320]
lea eax, [ecx + 1]
push eax
mov eax, dword [esp + 0x28]
push dword [eax]
lea eax, [esp + 0x4f8]
push str.__s__requires_that_parameter__u_be_non_blank.
push 0x400
push eax
call fcn.004782d0
mov ecx, dword [esp + 0x24]
lea eax, [esp + 0x504]
add esp, 0x14
push dword [ebp + 8]
push eax
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
lea eax, [edi + 1]
mov dword [esp + edi*4 + 0x44], 0x4cbf90
push eax
lea eax, [esp + 0x48]
mov dword [esp + edi*4 + 0xa8], 0
push eax
push 0x89
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ebx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
mov esi, dword [esp + 0x44]
mov ecx, ebx
push eax
push 2
lea eax, [esp + 0x48]
mov dword [esp + 0x4c], 0x4cbf90
push eax
push 0x89
mov dword [esp + 0xb4], 0
call fcn.004225a0
test eax, eax
je 0x420ab8
mov eax, dword [esp + 0x4c]
mov ecx, ebx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xb0]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0xa0]
push eax
push 5
lea eax, [esp + 0x48]
mov dword [esp + 0x50], esi
push eax
push 0x8c
mov dword [esp + 0xb8], 0
mov dword [esp + 0x60], 0x4cbf90
mov dword [esp + 0xc0], 0
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push 1
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push 4
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push 5
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push 6
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0xa0]
push eax
push edi
lea eax, [esp + 0x48]
push eax
push 7
call fcn.004225a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
mov bl, 0x12
jmp 0x421e70
mov bl, 0x13
jmp 0x421e70
mov bl, 0x14
jmp 0x421e70
mov bl, 0x15
jmp 0x421e70
mov bl, 0x16
jmp 0x421e70
mov bl, 0x17
mov byte [ebp + 0xc], bl
test edi, edi
je 0x421f65
cmp byte [esp + 0x38], 0
jne 0x421f65
test bh, bh
jne 0x421f65
mov al, bl
sub al, 0x12
cmp al, 0xe
ja 0x421f65
cmp bl, 0x17
ja 0x421eab
sub cl, 6
cmp cl, 5
ja 0x421f65
mov eax, dword [esp + edi*4 + 0x3c]
sub eax, esi
sar eax, 1
lea edx, [eax + eax]
movzx ecx, word [edx + esi]
test cx, cx
je 0x421f65
cmp cx, word [0x4d9ba8]
jne 0x421ed7
cmp word [esp + edx + 0xcf0], 0
je 0x421ee9
inc eax
lea edx, [eax + eax]
movzx ecx, word [edx + esi]
test cx, cx
jne 0x421ec3
jmp 0x421f65
lea ecx, [esi + eax*2]
inc eax
mov dword [esp + 0x3c], ecx
lea ecx, [esi + eax*2]
movzx eax, word [ecx]
cmp eax, 0x20
je 0x421f01
cmp eax, 9
jne 0x421f06
add ecx, 2
jmp 0x421ef4
push 0
push ecx
lea eax, [esp + 0x2f8]
mov dword [esp + 0x3c], ecx
mov ecx, dword [esp + 0x18]
push eax
call fcn.00422360
mov dword [esp + 0x2c], eax
test eax, eax
je 0x421f65
lea ecx, [esp + 0x2f0]
call fcn.00422480
mov byte [esp + 0x38], al
test al, al
jne 0x421f50
lea ecx, [esp + 0x2f0]
call fcn.004224c0
mov bh, al
mov byte [esp + 0x20], bh
test bh, bh
je 0x421f65
mov eax, dword [esp + 0x3c]
xor ecx, ecx
or edx, 0xffffffff
mov word [eax], cx
mov ecx, dword [esp + edi*4 + 0x3c]
call fcn.00417d60
cmp bl, 0x69
je 0x421f6f
cmp bl, 0x6b
jne 0x421f7e
cmp edi, 1
jne 0x421f7e
mov eax, dword [esp + 0x40]
cmp word [eax], 0
jne 0x421f8c
cmp bl, 0x6a
je 0x421f88
cmp bl, 0x70
jne 0x421ffb
test edi, edi
je 0x421ffb
mov edx, dword [esp + edi*4 + 0x3c]
mov ecx, edx
lea eax, [ecx + 2]
mov dword [esp + 0x3c], eax
nop dword [eax]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x421fa0
sub ecx, dword [esp + 0x3c]
sar ecx, 1
cmp word [edx + ecx*2 - 2], 0x7b
jne 0x421ffb
xor eax, eax
mov byte [esp + 0xf], 1
mov word [edx + ecx*2 - 2], ax
or edx, 0xffffffff
mov ecx, dword [esp + edi*4 + 0x3c]
call fcn.00417d60
test eax, eax
jne 0x421ffb
cmp bl, 0x69
je 0x421ff9
cmp bl, 0x70
je 0x421ff9
push dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push str.Parameter_1_required
call fcn.004354a0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c
xor edi, edi
lea eax, [esp + 0xa0]
push eax
push edi
mov edi, dword [esp + 0x18]
lea eax, [esp + 0x48]
push eax
push dword [ebp + 0xc]
mov ecx, edi
call fcn.004225a0
test eax, eax
je 0x420ab8
cmp byte [esp + 0xf], 0
je 0x42203d
push 0
push 0
push 0
push 0x73
mov ecx, edi
call fcn.004225a0
test eax, eax
je 0x420ab8
cmp byte [esp + 0x38], 0
jne 0x42204c
test bh, bh
je 0x420b04
mov ebx, dword [esp + 0x2c]
mov ecx, ebx
lea edx, [ecx + 2]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x422055
sub ecx, edx
mov eax, ebx
sub eax, esi
sar ecx, 1
push ecx
sar eax, 1
lea ecx, [esp + 0xcf4]
lea eax, [ecx + eax*2]
mov ecx, edi
push eax
push ebx
lea eax, [esp + 0x2fc]
push eax
push dword [esp + 0x30]
push dword [esp + 0x4c]
push dword [esp + 0x4c]
call fcn.004204e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x1c