Function at 0x41a158
Capabilities:
Check http status code
Encode data using base64
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x464
mov eax, dword [ebp + 0x14]
or dword [ebp - 0x40], 0xffffffff
xor edx, edx
cmp eax, edx
mov dword [ebp - 4], 3
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x28], edx
mov dword [ebp - 0x30], edx
mov dword [ebp - 0xc], edx
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x2c], edx
jne 0x41a19e
mov eax, dword [ebp + 0x10]
cmp eax, edx
je 0x41a19a
mov dword [eax], 0x63
xor eax, eax
leave
ret
mov dword [eax], edx
mov eax, dword [ebp + 0x10]
cmp eax, edx
je 0x41a1a9
mov dword [eax], edx
mov eax, dword [ebp + 0x18]
cmp eax, edx
push ebx
push esi
push edi
jne 0x41a1b7
push 0x10
jmp 0x41a1ce
test byte [ebp + 0xd], 8
mov dword [eax], edx
je 0x41a1c3
push 0x20
jmp 0x41a1ce
test dword [ebp + 0xc], 0xffc38580
je 0x41a1d4
push 0x11
pop ecx
jmp 0x41ab8f
mov eax, dword [ebp + 0x1c]
cmp eax, edx
jne 0x41a1e3
mov eax, 0x45d3e8
mov dword [ebp + 0x1c], eax
lea ecx, [eax + 0x100]
mov dword [ebp - 0x78], ecx
lea ecx, [eax + 0x200]
lea edi, [eax + 0x340]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0x74], ecx
mov ecx, 0x300000
and eax, ecx
cmp eax, 0x100000
mov dword [ebp - 0x70], edi
je 0x41a255
cmp eax, 0x200000
je 0x41a21d
cmp eax, ecx
je 0x41a259
push 0xa
pop eax
mov dword [ebp - 0x48], 1
mov byte [ebp - 0x44], al
mov ebx, dword [ebp + 8]
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x54], edx
movzx eax, byte [ebx]
cmp eax, edx
mov dword [ebp - 8], ebx
jne 0x41a26d
add dword [ebp - 4], 4
cmp dword [ebp - 4], 0x10000
jle 0x41abb9
push 0x14
jmp 0x41abdc
push 0xd
jmp 0x41a21f
mov dword [ebp - 0x48], 2
mov byte [ebp - 0x44], 0xd
mov byte [ebp - 0x43], 0xa
jmp 0x41a22a
mov edi, dword [ebp - 0x70]
cmp dword [ebp - 0x24], 0
push 3
pop esi
jne 0x41a76e
test byte [ebp + 0xc], 8
je 0x41a2c0
test byte [edi + eax], 1
jne 0x41a852
cmp eax, 0x23
jne 0x41a2c0
inc ebx
mov al, byte [ebx]
test al, al
je 0x41a23d
mov ecx, dword [ebp - 0x48]
cmp al, byte [ebp - 0x44]
jne 0x41a2ab
cmp ecx, 1
je 0x41a2b2
mov al, byte [ebx + 1]
cmp al, byte [ebp - 0x43]
je 0x41a2b2
inc ebx
mov al, byte [ebx]
test al, al
jne 0x41a299
cmp byte [ebx], 0
je 0x41a23d
lea ebx, [ebx + ecx - 1]
jmp 0x41a852
inc dword [ebp - 0x40]
cmp eax, 0x3f
jg 0x41a725
je 0x41a71d
cmp eax, 0x24
je 0x41a812
cmp eax, 0x28
je 0x41a340
cmp eax, 0x29
je 0x41a302
jle 0x41a2f9
cmp eax, 0x2b
jle 0x41a71d
cmp eax, 0x2e
je 0x41a812
add dword [ebp - 4], 2
jmp 0x41a815
mov eax, dword [ebp - 0x2c]
add dword [ebp - 4], esi
test eax, eax
jbe 0x41a339
mov edi, dword [ebp - 4]
sub edi, dword [ebp + eax*4 - 0x468]
dec eax
cmp edi, 0x7530
mov dword [ebp - 0x2c], eax
movzx eax, byte [ebp + eax - 0x144]
mov dword [ebp - 0x20], eax
jle 0x41a53c
push 0x32
pop ecx
jmp 0x41ab85
xor edi, edi
jmp 0x41a53c
and dword [ebp - 0x3c], 0
lea ecx, [ebx + 1]
cmp byte [ecx], 0x3f
mov dword [ebp - 0x34], esi
jne 0x41a6c6
lea edx, [ebx + 2]
movzx eax, byte [edx]
cmp eax, 0x3a
jg 0x41a460
je 0x41a607
cmp eax, 0x21
je 0x41a607
cmp eax, 0x23
je 0x41a43d
cmp eax, 0x28
je 0x41a3e5
cmp eax, 0x2f
jle 0x41a38d
cmp eax, 0x39
jle 0x41a488
and dword [ebp - 0x18], 0
and dword [ebp - 8], 0
push 2
lea eax, [ebp - 8]
mov ebx, edx
pop edi
movzx ecx, byte [ebx]
cmp ecx, 0x58
jg 0x41a622
je 0x41a61d
cmp ecx, 0x29
je 0x41a651
cmp ecx, 0x2d
je 0x41a618
cmp ecx, 0x3a
je 0x41a676
cmp ecx, 0x4a
je 0x41a60e
cmp ecx, 0x55
jne 0x41ab6a
or byte [eax + 1], 2
jmp 0x41a64b
movzx eax, byte [ebx + 3]
test byte [eax + edi], 0x10
je 0x41a411
add ebx, 4
add dword [ebp - 4], esi
jmp 0x41a3f8
inc ebx
movzx eax, byte [ebx]
test byte [eax + edi], 0x10
jne 0x41a3f7
cmp byte [ebx], 0x29
je 0x41a6e6
push 0x1a
jmp 0x41a333
mov ebx, ecx
cmp byte [ebx + 2], 0x3f
jne 0x41a434
mov al, byte [ebx + 3]
cmp al, 0x3d
je 0x41a6e6
cmp al, 0x21
je 0x41a6e6
cmp al, 0x3c
je 0x41a6e6
inc ebx
inc ebx
push 0x1c
jmp 0x41a333
add ebx, esi
mov al, byte [ebx]
test al, al
je 0x41a459
cmp al, 0x29
je 0x41a450
inc ebx
mov al, byte [ebx]
test al, al
jne 0x41a445
cmp byte [ebx], 0
jne 0x41a852
push 0x12
jmp 0x41a333
cmp eax, 0x3c
je 0x41a6ae
jle 0x41a38d
cmp eax, 0x3e
jle 0x41a607
cmp eax, 0x50
je 0x41a4ab
cmp eax, 0x52
jne 0x41a38d
mov ebx, ecx
inc ebx
inc ebx
cmp eax, 0x52
je 0x41a49c
inc ebx
movzx eax, byte [ebx]
test byte [eax + 0x45cb00], 4
jne 0x41a48f
cmp byte [ebx], 0x29
jne 0x41ab4e
add dword [ebp - 4], 9
jmp 0x41a51e
add ebx, esi
mov al, byte [ebx]
cmp al, 0x3c
jne 0x41a4fb
inc ebx
mov ecx, ebx
jmp 0x41a4b9
inc ebx
movzx eax, byte [ebx]
test byte [eax + edi], 0x10
jne 0x41a4b8
cmp byte [ebx], 0x3e
jne 0x41ab55
inc dword [ebp - 0x38]
cmp dword [ebp - 0x38], 0x2710
jg 0x41ab5c
mov eax, ebx
sub eax, ecx
cmp eax, dword [ebp - 0x28]
jle 0x41a6d6
cmp eax, 0x20
mov dword [ebp - 0x28], eax
jle 0x41a6d6
push 0x30
jmp 0x41a333
cmp al, 0x3d
je 0x41a507
cmp al, 0x3e
jne 0x41ab63
add dword [ebp - 4], 9
inc ebx
movzx eax, byte [ebx]
test byte [eax + edi], 0x10
jne 0x41a50b
cmp byte [ebx], 0x29
jne 0x41ab55
mov al, byte [ebx + 1]
cmp al, 0x2b
je 0x41a535
cmp al, 0x2a
je 0x41a535
cmp al, 0x3f
je 0x41a535
cmp al, 0x7b
jne 0x41a852
add dword [ebp - 4], 6
push 0xb
pop edi
lea ecx, [ebx + 1]
movzx eax, byte [ecx]
cmp eax, 0x7b
jne 0x41a581
lea esi, [ebx + 2]
mov eax, esi
call fcn.0044fbd4
test eax, eax
je 0x41a5dd
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, esi
call fcn.0044fc36
mov ecx, dword [ebp - 0xc]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x41ab85
mov eax, dword [ebp - 0x10]
jmp 0x41a5e6
cmp eax, 0x2a
jne 0x41a58f
and dword [ebp - 0x14], 0
or eax, 0xffffffff
jmp 0x41a5d6
cmp eax, 0x2b
jne 0x41a5ca
xor edx, edx
inc edx
or eax, 0xffffffff
mov dword [ebp - 0x14], edx
mov dword [ebp - 0x10], eax
mov ebx, ecx
lea ecx, [edx - 1]
imul ecx, edi
add dword [ebp - 4], ecx
cmp eax, edx
jle 0x41a802
mov ecx, dword [ebp - 4]
sub eax, edx
add edi, 7
imul eax, edi
lea eax, [ecx + eax - 6]
mov dword [ebp - 4], eax
jmp 0x41a802
cmp eax, 0x3f
jne 0x41a5dd
and dword [ebp - 0x14], 0
xor eax, eax
inc eax
mov dword [ebp - 0x10], eax
mov ebx, ecx
jmp 0x41a5ed
xor eax, eax
inc eax
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], eax
mov edx, dword [ebp - 0x14]
test edx, edx
jne 0x41a5a2
inc dword [ebp - 4]
test eax, eax
jle 0x41a802
add edi, 7
dec eax
imul edi, eax
add dword [ebp - 4], edi
jmp 0x41a802
mov ebx, edx
jmp 0x41a6e6
or byte [eax + 2], 8
or byte [ebp + 0xf], 8
jmp 0x41a64b
lea eax, [ebp - 0x18]
jmp 0x41a64b
or dword [eax], 0x40
jmp 0x41a64b
cmp ecx, 0x69
je 0x41a648
cmp ecx, 0x6d
je 0x41a644
cmp ecx, 0x73
je 0x41a63f
cmp ecx, 0x78
jne 0x41ab6a
or dword [eax], 8
jmp 0x41a64b
or dword [eax], 4
jmp 0x41a64b
or dword [eax], edi
jmp 0x41a64b
or dword [eax], 1
inc ebx
jmp 0x41a39d
cmp dword [ebp - 0x40], 0
jne 0x41a676
mov eax, dword [ebp - 8]
or eax, dword [ebp + 0xc]
mov edx, dword [ebp - 0x18]
and dword [ebp - 0x18], 0
and dword [ebp - 8], 0
or dword [ebp - 0x40], 0xffffffff
not edx
and eax, edx
add dword [ebp - 4], edi
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x18]
or eax, dword [ebp - 8]
test al, 7
je 0x41a687
add dword [ebp - 4], 4
mov dword [ebp - 0x3c], edi
cmp ecx, 0x29
jne 0x41a6e6
cmp dword [ebp - 0x3c], 2
jne 0x41a852
cmp dword [ebp - 0x20], 0
je 0x41a6a5
cmp dword [ebp - 0x20], esi
jne 0x41a852
add dword [ebp - 0x20], 2
jmp 0x41a852
add ebx, esi
mov al, byte [ebx]
cmp al, 0x3d
je 0x41a6be
cmp al, 0x21
jne 0x41ab71
add dword [ebp - 4], esi
mov dword [ebp - 0x3c], esi
jmp 0x41a6e6
mov eax, dword [ebp + 0xc]
shr eax, 0xc
not eax
and eax, 1
mov dword [ebp - 0x18], eax
je 0x41a6e6
inc dword [ebp - 0x1c]
cmp dword [ebp - 0x1c], 0x64
jle 0x41a6e6
mov dword [ebp - 0x34], 6
mov eax, dword [ebp - 0x2c]
cmp eax, 0xc8
jae 0x41ab78
mov cl, byte [ebp - 0x20]
mov byte [ebp + eax - 0x144], cl
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp - 4]
mov dword [ebp + eax*4 - 0x464], ecx
inc eax
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x34]
add dword [ebp - 4], eax
jmp 0x41a852
inc dword [ebp - 4]
jmp 0x41a802
sub eax, 0x5b
je 0x41a91e
dec eax
je 0x41a81e
dec eax
dec eax
je 0x41a812
sub eax, 0x1d
je 0x41a75b
dec eax
jne 0x41a2f9
mov ecx, dword [ebp - 4]
mov eax, dword [ebp - 0x20]
lea eax, [ecx + eax + 3]
mov dword [ebp - 4], eax
jmp 0x41a852
lea edi, [ebx + 1]
mov eax, edi
call fcn.0044fbd4
test eax, eax
jne 0x41a78c
jmp 0x41a2f9
cmp eax, 0x5c
jne 0x41a2f9
lea eax, [ebx + 1]
cmp byte [eax], 0x45
jne 0x41a2f9
and dword [ebp - 0x24], 0
jmp 0x41ab47
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, edi
call fcn.0044fc36
mov ecx, dword [ebp - 0xc]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x41ab85
cmp dword [ebp - 0x14], ecx
mov eax, dword [ebp - 0x10]
jne 0x41a7c1
cmp eax, 1
je 0x41a7cc
cmp eax, 0xffffffff
je 0x41a7cc
cmp dword [ebp - 0x14], 1
jne 0x41a7d1
cmp eax, 0xffffffff
jne 0x41a7e7
inc dword [ebp - 4]
jmp 0x41a7f8
mov ecx, dword [ebp - 0x30]
sub dword [ebp - 4], ecx
cmp dword [ebp - 0x14], 0
jle 0x41a7e7
mov edx, dword [ebp - 4]
lea ecx, [edx + ecx + 3]
mov dword [ebp - 4], ecx
xor ecx, ecx
test eax, eax
setg cl
lea ecx, [ecx + ecx + 1]
add ecx, dword [ebp - 0x30]
add dword [ebp - 4], ecx
lea eax, [ebx + 1]
cmp byte [eax], 0x3f
jne 0x41a802
mov ebx, eax
lea eax, [ebx + 1]
cmp byte [eax], 0x2b
jne 0x41a852
add dword [ebp - 4], 6
mov ebx, eax
jmp 0x41a852
inc dword [ebp - 4]
mov dword [ebp - 0x30], 1
jmp 0x41a852
push 0
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0044f9a5
mov ecx, dword [ebp - 0xc]
add esp, 0x14
test ecx, ecx
jne 0x41ab82
xor edx, edx
inc edx
test eax, eax
mov dword [ebp - 0x30], edx
jl 0x41a866
add dword [ebp - 4], 2
mov ebx, dword [ebp - 8]
inc ebx
movzx eax, byte [ebx]
test eax, eax
mov dword [ebp - 8], ebx
jne 0x41a26a
jmp 0x41a23d
mov ecx, eax
neg ecx
cmp ecx, 0x13
jne 0x41a874
mov dword [ebp - 0x24], edx
jmp 0x41a84f
cmp ecx, 0xf
je 0x41ab7f
cmp ecx, 0xd
je 0x41ab7f
cmp ecx, 0xe
je 0x41ab7f
inc dword [ebp - 4]
push 0xffffffffffffffec
pop ecx
cmp eax, ecx
jg 0x41a84f
sub ecx, eax
cmp ecx, 0x20
mov eax, edx
jge 0x41a8a4
shl eax, cl
or dword [ebp - 0x54], eax
cmp ecx, dword [ebp - 0x58]
jle 0x41a8af
mov dword [ebp - 0x58], ecx
mov ebx, dword [ebp - 8]
add dword [ebp - 4], 2
cmp byte [ebx + 1], 0x7b
jne 0x41a852
lea edi, [ebx + 2]
mov eax, edi
call fcn.0044fbd4
test eax, eax
je 0x41a852
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, edi
call fcn.0044fc36
mov ecx, dword [ebp - 0xc]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x41ab85
cmp dword [ebp - 0x14], ecx
jne 0x41a8fe
cmp dword [ebp - 0x10], 1
je 0x41a90a
cmp dword [ebp - 0x10], 0xffffffff
je 0x41a90a
cmp dword [ebp - 0x14], 1
jne 0x41a90f
cmp dword [ebp - 0x10], 0xffffffff
jne 0x41a90f
inc dword [ebp - 4]
jmp 0x41a913
add dword [ebp - 4], 5
lea eax, [ebx + 1]
cmp byte [eax], 0x3f
jmp 0x41ab41
inc ebx
cmp byte [ebx], 0x5e
mov dword [ebp - 8], ebx
jne 0x41a934
inc ebx
mov dword [ebp - 0x18], 0xa
mov dword [ebp - 8], ebx
jmp 0x41a938
and dword [ebp - 0x18], 0
mov al, byte [ebx]
test al, al
je 0x41abb2
cmp dword [ebp - 0x24], 0
je 0x41a967
cmp al, 0x5c
jne 0x41aa9f
lea eax, [ebx + 1]
cmp byte [eax], 0x45
jne 0x41aa9f
and dword [ebp - 0x24], 0
mov ebx, eax
jmp 0x41aa10
cmp al, 0x5c
jne 0x41aa69
xor esi, esi
inc esi
push esi
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [ebp - 0x1c]
push eax
lea eax, [ebp - 8]
push eax
call fcn.0044f9a5
mov ecx, dword [ebp - 0xc]
add esp, 0x14
test ecx, ecx
mov edi, eax
jne 0x41ab82
neg eax
cmp eax, 4
jne 0x41a9a1
push 8
jmp 0x41a9ac
cmp eax, 0xf
jne 0x41aa4b
push 0x58
pop edi
mov ebx, dword [ebp - 8]
inc dword [ebp - 0x18]
cmp byte [ebx + 1], 0x2d
jne 0x41aa10
mov esi, ebx
add ebx, 2
mov al, byte [ebx]
cmp al, 0x5c
jne 0x41aab1
push 1
push dword [ebp + 0xc]
lea eax, [ebp - 0xc]
push dword [ebp - 0x1c]
mov dword [ebp - 8], ebx
push eax
lea eax, [ebp - 8]
push eax
call fcn.0044f9a5
mov ecx, dword [ebp - 0xc]
add esp, 0x14
test ecx, ecx
jne 0x41ab82
mov ebx, dword [ebp - 8]
mov ecx, eax
neg ecx
cmp ecx, 4
jne 0x41aaa7
push 8
pop eax
cmp eax, edi
mov dword [ebp - 0x18], 0xa
jl 0x41abab
inc ebx
mov al, byte [ebx]
test al, al
mov dword [ebp - 8], ebx
je 0x41abb2
cmp dword [ebp - 0x24], 0
jne 0x41a948
cmp al, 0x5d
jne 0x41a942
test al, al
je 0x41abb2
cmp dword [ebp - 0x18], 1
jne 0x41aacb
add dword [ebp - 4], 3
jmp 0x41a852
cmp eax, 0x13
jne 0x41aa55
mov dword [ebp - 0x24], esi
jmp 0x41aa64
test edi, edi
jge 0x41a9ad
mov dword [ebp - 0x18], 0xa
mov ebx, dword [ebp - 8]
jmp 0x41aa10
cmp al, 0x5b
jne 0x41aa9f
mov al, byte [ebx + 1]
cmp al, 0x3a
je 0x41aa7c
cmp al, 0x2e
je 0x41aa7c
cmp al, 0x3d
jne 0x41aa9f
lea eax, [ebp - 8]
push eax
lea ecx, [ebp - 0x7c]
mov eax, ebx
call fcn.004500db
test eax, eax
mov ebx, dword [ebp - 8]
pop ecx
je 0x41aa9f
inc ebx
mov dword [ebp - 0x18], 0xa
jmp 0x41aa10
movzx edi, byte [ebx]
jmp 0x41a9b0
cmp ecx, 0xf
jne 0x41aabc
push 0x58
pop eax
jmp 0x41aabc
test al, al
je 0x41aac4
cmp al, 0x5d
je 0x41aac4
movzx eax, byte [ebx]
test eax, eax
jge 0x41aa01
mov ebx, esi
jmp 0x41aa10
add dword [ebp - 4], 0x21
cmp byte [ebx + 1], 0x7b
jne 0x41a852
lea edi, [ebx + 2]
mov eax, edi
call fcn.0044fbd4
test eax, eax
je 0x41a852
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 0x10]
push eax
lea eax, [ebp - 0x14]
push eax
mov eax, edi
call fcn.0044fc36
mov ecx, dword [ebp - 0xc]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x41ab85
cmp dword [ebp - 0x14], ecx
jne 0x41ab1b
cmp dword [ebp - 0x10], 1
je 0x41ab27
cmp dword [ebp - 0x10], 0xffffffff
je 0x41ab27
cmp dword [ebp - 0x14], 1
jne 0x41ab2c
cmp dword [ebp - 0x10], 0xffffffff
jne 0x41ab2c
inc dword [ebp - 4]
jmp 0x41ab30
add dword [ebp - 4], 5
lea eax, [ebx + 1]
mov cl, byte [eax]
cmp cl, 0x2b
je 0x41a80a
cmp cl, 0x3f
jne 0x41a852
mov ebx, eax
jmp 0x41a852
push 0x1d
jmp 0x41a333
push 0x2a
jmp 0x41a333
push 0x31
jmp 0x41a333
push 0x29
jmp 0x41a333
push 0xc
jmp 0x41a333
push 0x18
jmp 0x41a333
push 0x13
jmp 0x41a333
push 0x2d
pop ecx
mov ebx, dword [ebp - 8]
sub ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x18]
mov dword [eax], ebx
xor edx, edx
mov eax, dword [ecx*4 + 0x462510]
mov esi, dword [ebp + 0x14]
mov dword [esi], eax
mov eax, dword [ebp + 0x10]
cmp eax, edx
je 0x41aba4
mov dword [eax], ecx
xor eax, eax
jmp 0x41adb2
push 8
jmp 0x41a333
push 6
jmp 0x41a333
mov edi, dword [ebp - 0x28]
mov ecx, dword [ebp - 4]
add edi, 3
mov eax, edi
imul eax, dword [ebp - 0x38]
lea ebx, [eax + ecx + 0x28]
push ebx
call dword [0x4624fc]
mov esi, eax
test esi, esi
pop ecx
jne 0x41abdf
push 0x15
pop ecx
jmp 0x41ab8d
mov eax, dword [ebp - 0x28]
mov ecx, dword [ebp + 0xc]
add eax, 3
mov word [esi + 0x1a], ax
mov ax, word [ebp - 0x38]
mov word [esi + 0x1c], ax
mov eax, dword [ebp + 0x1c]
sub eax, 0x45d3e8
mov dword [esi + 4], ebx
xor ebx, ebx
neg eax
sbb eax, eax
and eax, dword [ebp + 0x1c]
mov word [esi + 0x18], 0x28
mov dword [esi + 0x20], eax
mov dword [esi], 0x50435245
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebx
mov word [esi + 0x1e], bx
mov dword [esi + 0x24], ebx
mov dword [ebp - 0x5c], edi
mov dword [ebp - 0x60], ebx
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [ebp - 0x64], eax
movzx edi, word [esi + 0x1c]
movzx edx, word [esi + 0x1a]
imul edi, edx
add edi, eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x68], eax
mov dword [ebp - 8], eax
lea eax, [ebp - 0x7c]
push eax
push ebx
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x28]
push eax
push ebx
push ebx
lea eax, [ebp - 0xc]
push eax
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x34]
push eax
lea eax, [ebp - 0x1c]
push eax
mov eax, ecx
and eax, 7
push eax
mov dword [ebp - 0x6c], edi
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x4c], ebx
mov byte [edi], 0x50
push ecx
mov dword [ebp - 0x34], edi
mov dword [ebp - 0x1c], ebx
call fcn.004515ba
mov ax, word [ebp - 0x1c]
mov word [esi + 0x10], ax
mov ax, word [ebp - 0x58]
add esp, 0x30
mov word [esi + 0x12], ax
cmp dword [ebp - 0x4c], ebx
je 0x41aca2
or byte [esi + 0xb], 0x80
cmp dword [ebp - 0xc], 0
mov ebx, dword [ebp - 8]
jne 0x41acb7
cmp byte [ebx], 0
je 0x41acb7
mov dword [ebp - 0xc], 0x16
mov eax, dword [ebp - 0x34]
mov byte [eax], 0
inc eax
sub eax, edi
cmp eax, dword [ebp - 4]
jle 0x41accc
mov dword [ebp - 0xc], 0x17
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x41acdd
mov dword [ebp - 0xc], 0xf
cmp dword [ebp - 0xc], 0
je 0x41acf3
push esi
call dword [0x462500]
pop ecx
mov ecx, dword [ebp - 0xc]
jmp 0x41ab85
test byte [ebp + 0xc], 0x10
mov ebx, 0x100
jne 0x41ad73
push dword [ebp - 0x54]
mov eax, dword [ebp + 0xc]
mov dword [ebp + 0x14], eax
push 0
lea eax, [ebp + 0x14]
push eax
push edi
call fcn.00451798
add esp, 0x10
test eax, eax
je 0x41ad20
or dword [esi + 8], 0x10
jmp 0x41ad73
mov eax, dword [ebp - 0x28]
test eax, eax
jge 0x41ad3a
push 0
lea eax, [ebp + 0x14]
push eax
push edi
call fcn.004518ee
add esp, 0xc
test eax, eax
jl 0x41ad5d
mov ecx, eax
and ecx, 0xff
test ebx, eax
je 0x41ad53
mov edx, dword [ebp - 0x78]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x41ad53
mov eax, ecx
or byte [esi + 0xb], 0x40
mov word [esi + 0x14], ax
jmp 0x41ad73
push dword [ebp - 0x54]
push 0
push edi
call fcn.00451850
add esp, 0xc
test eax, eax
je 0x41ad73
or byte [esi + 0xb], 0x10
mov edx, dword [ebp - 0x2c]
test edx, edx
jl 0x41adb0
mov ecx, dword [esi + 8]
test cl, 0x10
je 0x41ad87
test dh, 2
je 0x41adb0
mov eax, edx
and eax, 0xff
test ebx, edx
je 0x41ada3
mov edi, dword [ebp - 0x78]
movzx edi, byte [edi + eax]
cmp edi, eax
jne 0x41ada3
and edx, 0xfffffeff
or ecx, 0x20000000
mov word [esi + 0x16], dx
mov dword [esi + 8], ecx
mov eax, esi
pop edi
pop esi
pop ebx
leave
ret