Function at 0x10048c20
Capabilities:
Check http status code
Encode data using base64
Inspect section memory permissions
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x484
mov eax, dword [0x10c67840]
xor eax, esp
mov dword [esp + 0x480], eax
mov eax, dword [esp + 0x48c]
push ebx
mov ebx, dword [esp + 0x48c]
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
cmp ecx, edi
mov esi, edx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], esi
mov dword [esp + 0x10], 3
mov dword [esp + 0x28], edi
mov dword [esp + 0x4c], edi
mov dword [esp + 0x54], 0xffffffff
mov dword [esp + 0x38], ebp
mov dword [esp + 0x1c], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x58], edi
je 0x100499d8
cmp esi, edi
mov dword [ecx], edi
jne 0x10048ca7
mov ecx, 0x10
mov eax, dword [ecx*4 + 0x10c11138]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
xor eax, eax
jmp 0x10049ac7
cmp eax, 0x10000
mov dword [esi], edi
jg 0x10048c8e
mov edx, dword [esp + 0x4a0]
or edx, 0x800
mov ecx, edx
shr ecx, 0xb
and ecx, 1
test edx, 0xfffb8580
mov dword [esp + 0x4a0], edx
mov dword [esp + 0x40], ecx
je 0x10048cf1
mov ecx, 0x11
mov eax, dword [ecx*4 + 0x10c11138]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
xor eax, eax
jmp 0x10049ac7
lea eax, [ebx + eax*2]
cmp ebx, eax
mov dword [esp + 0x68], 0x10c0e0f0
mov dword [esp + 0x6c], 0x10c0e1f0
mov dword [esp + 0x70], 0x10c0e2f0
mov dword [esp + 0x74], 0x10c0e430
mov dword [esp + 0x8c], edi
mov dword [esp + 0x90], edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ebx
jae 0x10048d78
mov edi, edi
movzx esi, word [ebx]
xor eax, eax
test dl, 8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], eax
je 0x10048db1
cmp esi, 0xff
jg 0x10048d52
mov eax, dword [esp + 0x74]
movzx eax, byte [esi + eax]
test al, 1
jne 0x10048e6e
cmp esi, 0x23
jne 0x10048db1
mov eax, dword [esp + 0x18]
add ebx, 2
cmp ebx, eax
jae 0x10048d72
cmp word [ebx], 0xa
jne 0x10048d63
cmp ebx, eax
jne 0x10048e6e
add dword [esp + 0x10], 4
test edx, 0x4000
je 0x10048d8a
add dword [esp + 0x10], 6
cmp dword [esp + 0x10], 0x10000
jle 0x10049839
mov ecx, 0x14
mov eax, dword [ecx*4 + 0x10c11138]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
xor eax, eax
jmp 0x10049ac7
add dword [esp + 0x54], 1
test edx, 0x4000
je 0x10048de7
cmp esi, 0x2a
je 0x10048de7
cmp esi, 0x2b
je 0x10048de7
cmp esi, 0x3f
je 0x10048de7
cmp esi, 0x7b
jne 0x10048de2
mov edx, dword [esp + 0x18]
lea eax, [ebx + 2]
call fcn.100468f0
test eax, eax
jne 0x10048de7
add dword [esp + 0x10], 6
lea eax, [esi - 0x24]
cmp eax, 0x58
ja case.0x10048dfa.37
movzx ecx, byte [eax + 0x10049b04]
jmp dword [ecx*4 + 0x10049ae0]
mov edx, dword [esp + 0x4a0]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
push 0
push edx
push eax
lea ecx, [esp + 0x28]
push ecx
lea edx, [esp + 0x24]
push edi
push edx
call fcn.10046550
mov ecx, dword [esp + 0x34]
add esp, 0x18
test ecx, ecx
jne 0x100499bb
test eax, eax
mov ebp, 1
mov dword [esp + 0x38], ebp
jl 0x10048e93
add dword [esp + 0x10], 2
cmp dword [esp + 0x40], ecx
je 0x10048e6a
cmp eax, 0x7f
jle 0x10048e6a
cmp eax, dword [ecx*4 + 0x10c0df3c]
jle 0x10048e60
add ecx, ebp
cmp ecx, 6
jl 0x10048e50
add dword [esp + 0x10], ecx
add ecx, ebp
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x4a0]
add ebx, 2
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
jae 0x10048d78
mov ebp, dword [esp + 0x38]
mov edi, dword [esp + 0x58]
jmp 0x10048d30
add dword [esp + 0x10], ebp
cmp eax, 0xffffffec
jg 0x10048e6a
mov ecx, 0xffffffec
sub ecx, eax
cmp ecx, 0x20
mov eax, ebp
jge 0x10048eac
shl eax, cl
or dword [esp + 0x90], eax
cmp ecx, dword [esp + 0x8c]
jle 0x10048ec3
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x14]
add dword [esp + 0x10], 2
lea eax, [ebx + 2]
cmp eax, edi
jae 0x10048e6e
cmp word [eax], 0x7b
jne 0x10048e6e
lea esi, [ebx + 4]
mov edx, edi
mov eax, esi
call fcn.100468f0
test eax, eax
je 0x10048e6e
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x34]
push edx
mov eax, esi
call fcn.100469d0
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x100499bf
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10048f46
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x10048f51
cmp eax, 0xffffffff
je 0x10048f51
add dword [esp + 0x10], 5
lea eax, [ebx + 2]
cmp eax, edi
jae 0x10048e6e
cmp word [eax], 0x3f
jne 0x10048e6e
mov ebx, eax
jmp 0x10048e6e
cmp eax, ebp
jne 0x10048f25
cmp dword [esp + 0x20], 0xffffffff
jne 0x10048f25
add dword [esp + 0x10], ebp
jmp 0x10048f2a
mov eax, 1
add dword [esp + 0x10], eax
mov dword [esp + 0x38], eax
jmp 0x10048e6e
add dword [esp + 0x10], 1
jmp 0x10049757
mov edx, dword [esp + 0x18]
lea edi, [ebx + 2]
mov eax, edi
call fcn.100468f0
test eax, eax
je case.0x10048dfa.37
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x34]
push edx
mov eax, edi
call fcn.100469d0
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x100499bf
mov eax, dword [esp + 0x2c]
test eax, eax
mov ecx, dword [esp + 0x20]
jne 0x10048fd6
cmp ecx, 1
je 0x10048fe4
cmp ecx, 0xffffffff
je 0x10048fe4
mov esi, dword [esp + 0x10]
sub esi, ebp
test eax, eax
jle 0x10048fef
lea esi, [esi + ebp + 3]
jmp 0x10048fef
cmp eax, 1
jne 0x10048fc6
mov ecx, dword [esp + 0x20]
cmp ecx, 0xffffffff
jne 0x10048feb
add dword [esp + 0x10], 1
jmp 0x10049002
mov esi, dword [esp + 0x10]
xor eax, eax
test ecx, ecx
setg al
lea eax, [eax + eax + 1]
add eax, ebp
add esi, eax
mov dword [esp + 0x10], esi
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x18]
jae 0x10049757
cmp word [eax], 0x3f
jne 0x10049757
mov ebx, eax
jmp 0x10049757
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
lea eax, [ecx + edx + 3]
mov dword [esp + 0x10], eax
jmp 0x10048e6e
mov eax, dword [esp + 0x18]
add ebx, 2
cmp ebx, eax
mov dword [esp + 0x14], ebx
jae 0x1004905b
cmp word [ebx], 0x5e
jne 0x1004905b
add ebx, 2
mov dword [esp + 0x30], 0xa
mov dword [esp + 0x14], ebx
jmp 0x10049063
mov dword [esp + 0x30], 0
cmp ebx, eax
mov dword [esp + 0x24], 0
jae 0x1004981b
cmp dword [esp + 0x48], 0
movzx eax, word [ebx]
je 0x100490ad
cmp ax, 0x5c
jne 0x100492bc
lea ecx, [ebx + 2]
cmp ecx, dword [esp + 0x18]
jae 0x100492bc
cmp word [ecx], 0x45
jne 0x100492bc
mov dword [esp + 0x48], 0
mov ebx, ecx
jmp 0x1004924c
cmp ax, 0x5c
jne 0x100492bc
mov ecx, dword [esp + 0x4a0]
mov edx, dword [esp + 0x28]
mov esi, 1
push esi
push ecx
mov ecx, dword [esp + 0x20]
push edx
lea eax, [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.10046550
mov ecx, dword [esp + 0x34]
add esp, 0x18
test ecx, ecx
mov edi, eax
mov dword [esp + 0x34], edi
jne 0x100499bb
neg eax
cmp eax, 4
jne 0x10049230
mov edi, 8
mov dword [esp + 0x34], edi
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
add dword [esp + 0x30], 1
lea eax, [ebx + 2]
cmp eax, ecx
jae 0x1004936a
cmp word [eax], 0x2d
jne 0x1004936a
add eax, 2
cmp eax, ecx
mov ebp, ebx
jae 0x10049368
movzx ecx, word [eax]
cmp cx, 0x5c
jne 0x10049319
mov ecx, dword [esp + 0x4a0]
mov edx, dword [esp + 0x28]
push 1
push ecx
mov ecx, dword [esp + 0x20]
push edx
mov dword [esp + 0x20], eax
lea eax, [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x28]
push edx
call fcn.10046550
mov ecx, dword [esp + 0x34]
add esp, 0x18
test ecx, ecx
mov esi, eax
jne 0x100499bb
mov ebx, dword [esp + 0x14]
neg eax
cmp eax, 4
jne 0x1004930a
mov esi, 8
cmp esi, edi
mov dword [esp + 0x30], 0xa
jl 0x10049811
cmp dword [esp + 0x40], 0
je 0x1004924c
cmp esi, 0xff
jg 0x100491c9
test byte [esp + 0x4a0], 1
je 0x1004924c
cmp esi, 0x7f
jle 0x1004924c
cmp dword [esp + 0x24], 0
jne 0x100491dd
add dword [esp + 0x10], 4
mov dword [esp + 0x24], 1
test byte [esp + 0x4a0], 1
je 0x10049458
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x1c]
push esi
push ecx
mov dword [esp + 0x24], edi
mov dword [esp + 0x60], esi
call fcn.10046eb0
add esp, 0x10
test eax, eax
je 0x10049458
mov ebp, dword [esp + 0x44]
cmp ebp, edi
mov edx, dword [esp + 0x5c]
jl 0x100493e0
cmp edx, esi
jle 0x10049434
jmp 0x100493f3
cmp eax, 0xf
jne 0x1004923f
mov edi, 0x58
jmp 0x10049103
cmp eax, 0x13
jne 0x1004928b
mov dword [esp + 0x48], esi
mov ebx, dword [esp + 0x14]
add ebx, 2
cmp ebx, dword [esp + 0x18]
mov dword [esp + 0x14], ebx
jae 0x1004981b
cmp dword [esp + 0x48], 0
jne 0x10049073
cmp word [ebx], 0x5d
jne 0x10049073
mov ebp, 1
cmp dword [esp + 0x30], ebp
jne 0x10049487
add dword [esp + 0x10], 3
jmp 0x10048e6e
test edi, edi
jge 0x10049107
cmp eax, 0xe
mov dword [esp + 0x30], 0xa
je 0x100492a5
cmp eax, 0xd
jne 0x10049248
cmp dword [esp + 0x24], 0
jne 0x100492b5
add dword [esp + 0x10], 4
mov dword [esp + 0x24], esi
add dword [esp + 0x10], 2
jmp 0x10049248
cmp dword [esp + 0x40], 0
movzx edi, ax
mov dword [esp + 0x34], edi
je 0x1004910b
mov eax, edi
and eax, 0xfffffc00
xor ecx, ecx
cmp eax, 0xd800
jne 0x10049302
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x18]
jae 0x100492ec
movzx eax, word [eax]
jmp 0x100492ee
xor eax, eax
add edi, 0xffff2809
shl edi, 0xa
add edi, eax
mov dword [esp + 0x34], edi
mov ecx, 1
lea ebx, [ebx + ecx*2]
jmp 0x1004910b
cmp eax, 0xf
jne 0x10049360
mov esi, 0x58
jmp 0x1004918f
cmp cx, 0x5d
je 0x10049368
cmp dword [esp + 0x40], 0
mov ebx, eax
movzx esi, word [ebx]
je 0x10049360
mov ecx, esi
and ecx, 0xfffffc00
xor eax, eax
cmp ecx, 0xd800
jne 0x1004935d
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x18]
jae 0x1004934b
movzx eax, word [eax]
jmp 0x1004934d
xor eax, eax
add esi, 0xffff2809
shl esi, 0xa
add esi, eax
mov eax, 1
lea ebx, [ebx + eax*2]
test esi, esi
jge 0x1004918f
mov ebx, ebp
cmp dword [esp + 0x40], 0
je 0x1004924c
cmp edi, 0xff
jg 0x10049394
test byte [esp + 0x4a0], 1
je 0x1004924c
cmp edi, 0x7f
jle 0x1004924c
cmp dword [esp + 0x24], 0
mov dword [esp + 0x30], 0xa
jne 0x100493b0
add dword [esp + 0x10], 4
mov dword [esp + 0x24], 1
lea eax, [esp + 0x3bc]
mov edx, edi
call fcn.100589a0
mov ecx, dword [esp + 0x4a0]
and cl, 1
add eax, 1
neg cl
sbb ecx, ecx
neg ecx
add ecx, 1
imul eax, ecx
add dword [esp + 0x10], eax
jmp 0x1004924c
lea eax, [edi - 1]
cmp edx, eax
jl 0x100493ef
mov edi, ebp
mov dword [esp + 0x34], edi
jmp 0x10049434
cmp edx, esi
jle 0x100493fe
lea ecx, [esi + 1]
cmp ebp, ecx
jg 0x100493fe
mov esi, edx
jmp 0x10049434
cmp ebp, edx
jne 0x10049406
xor edi, edi
jmp 0x10049414
lea eax, [esp + 0x3bc]
call fcn.100589a0
mov edi, eax
lea eax, [esp + 0x3bc]
mov edx, ebp
call fcn.100589a0
mov edx, dword [esp + 0x10]
add eax, edi
mov edi, dword [esp + 0x34]
lea eax, [edx + eax + 1]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x50]
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x48]
push edx
push eax
lea ecx, [esp + 0x20]
push ecx
call fcn.10046eb0
add esp, 0x10
test eax, eax
jne 0x10049213
lea eax, [esp + 0x3bc]
mov edx, esi
call fcn.100589a0
mov esi, eax
lea eax, [esp + 0x3bc]
mov edx, edi
call fcn.100589a0
add eax, dword [esp + 0x10]
lea edx, [eax + esi + 1]
mov dword [esp + 0x10], edx
jmp 0x1004924c
mov edi, dword [esp + 0x18]
add dword [esp + 0x10], 0x21
lea eax, [ebx + 2]
cmp eax, edi
jae 0x10048e6e
cmp word [eax], 0x7b
jne 0x10048e6e
lea esi, [ebx + 4]
mov edx, edi
mov eax, esi
call fcn.100468f0
test eax, eax
je 0x10048e6e
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x34]
push ecx
mov eax, esi
call fcn.100469d0
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x100499bf
mov eax, dword [esp + 0x2c]
test eax, eax
jne 0x10049523
mov eax, dword [esp + 0x20]
cmp eax, ebp
je 0x1004952e
cmp eax, 0xffffffff
je 0x1004952e
add dword [esp + 0x10], 5
lea eax, [ebx + 2]
cmp eax, edi
jae 0x10048e6e
movzx ecx, word [eax]
cmp cx, 0x2b
je 0x1004976e
cmp cx, 0x3f
jne 0x10048e6e
mov ebx, eax
jmp 0x10048e6e
cmp eax, ebp
jne 0x100494f5
cmp dword [esp + 0x20], 0xffffffff
jne 0x100494f5
add dword [esp + 0x10], ebp
jmp 0x100494fa
mov esi, dword [esp + 0x18]
lea eax, [ebx + 2]
cmp eax, esi
mov edx, 3
jae 0x1004956f
cmp word [eax], 0x3f
jne 0x1004956f
lea ecx, [ebx + 4]
cmp ecx, esi
jae 0x10049825
movzx eax, word [ecx]
cmp eax, 0x21
je 0x1004956b
cmp eax, 0x3a
je 0x1004956b
cmp eax, 0x3d
jne 0x10049825
mov ebx, ecx
jmp 0x10049595
mov eax, dword [esp + 0x4a0]
shr eax, 0xc
not eax
and eax, 1
je 0x10049595
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, 0x64
mov dword [esp + 0x28], eax
jle 0x10049595
mov edx, 6
cmp edi, 0xc8
jae 0x1004982f
mov eax, dword [esp + 0x10]
mov cl, byte [esp + 0x4c]
mov dword [esp + edi*4 + 0x9c], eax
mov byte [esp + edi + 0x3c4], cl
add edi, 1
add eax, edx
mov dword [esp + 0x4c], 0
mov dword [esp + 0x58], edi
mov dword [esp + 0x10], eax
jmp 0x10048e6e
add dword [esp + 0x10], 3
test edi, edi
jbe 0x100495fa
movzx edx, byte [esp + edi + 0x3c3]
mov ebp, dword [esp + 0x10]
sub edi, 1
sub ebp, dword [esp + edi*4 + 0x9c]
mov dword [esp + 0x58], edi
mov dword [esp + 0x4c], edx
jmp 0x100495fc
xor ebp, ebp
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x18]
mov dword [esp + 0x24], ebp
jae 0x100496b2
movzx esi, word [eax]
cmp esi, 0x7b
jne 0x100496b2
mov edx, dword [esp + 0x18]
lea esi, [ebx + 4]
mov eax, esi
call fcn.100468f0
test eax, eax
je 0x1004978b
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x34]
push edx
mov eax, esi
call fcn.100469d0
mov ecx, dword [esp + 0x28]
add esp, 0xc
test ecx, ecx
mov ebx, eax
jne 0x100499bf
mov edi, dword [esp + 0x2c]
test edi, edi
mov ecx, dword [esp + 0x20]
jne 0x100496d1
add dword [esp + 0x10], 1
test ecx, ecx
jle 0x10049757
add ecx, 0xffffffff
lea esi, [ebp + 7]
je 0x10049797
test esi, esi
je 0x10049797
mov eax, 0x10000
cdq
idiv esi
cmp ecx, eax
jg 0x10048c8e
imul ecx, esi
test ecx, ecx
jl 0x10048c8e
mov eax, dword [esp + 0x10]
add eax, ecx
mov dword [esp + 0x10], eax
cmp eax, 0x10000
jmp 0x10049751
cmp esi, 0x2a
jne 0x100496be
or ecx, 0xffffffff
mov ebx, eax
jmp 0x10049662
cmp esi, 0x2b
jne 0x1004977a
mov edi, 1
or ecx, 0xffffffff
mov ebx, eax
lea esi, [edi - 1]
test esi, esi
je 0x100497aa
test ebp, ebp
je 0x100497aa
mov eax, 0x10000
cdq
idiv dword [esp + 0x24]
cmp esi, eax
jg 0x10048c8e
imul esi, dword [esp + 0x24]
test esi, esi
jl 0x10048c8e
mov ebp, dword [esp + 0x10]
add ebp, esi
cmp ecx, edi
mov dword [esp + 0x10], ebp
jle 0x1004974b
mov esi, dword [esp + 0x24]
add esi, 7
sub ecx, edi
je 0x100497b1
test esi, esi
je 0x100497b1
mov eax, 0x10000
cdq
idiv esi
cmp ecx, eax
jg 0x10048c8e
imul ecx, esi
test ecx, ecx
jl 0x10048c8e
lea ebp, [ecx + ebp - 6]
mov dword [esp + 0x10], ebp
cmp ebp, 0x10000
jg 0x10048c8e
lea eax, [ebx + 2]
cmp eax, dword [esp + 0x18]
jae 0x10048e6e
cmp word [eax], 0x2b
jne 0x10048e6e
add dword [esp + 0x10], 6
mov ebx, eax
jmp 0x10048e6e
cmp esi, 0x3f
jne 0x1004978b
mov ecx, 1
mov ebx, eax
jmp 0x10049662
mov edi, 1
mov ecx, edi
jmp 0x100496d1
mov eax, dword [esp + 0x10]
xor ecx, ecx
add eax, ecx
mov dword [esp + 0x10], eax
cmp eax, 0x10000
jmp 0x10049751
xor esi, esi
jmp 0x10049703
xor ecx, ecx
jmp 0x10049743
add dword [esp + 0x10], 2
cmp esi, 0x7f
mov dword [esp + 0x38], 1
jle 0x10048e6e
mov eax, esi
and eax, 0xfffffc00
cmp eax, 0xd800
jne 0x100497e7
lea ecx, [esi - 0xd7f7]
shl ecx, 0xa
add esi, ecx
add ebx, 2
xor eax, eax
lea esp, [esp]
cmp esi, dword [eax*4 + 0x10c0df3c]
jle 0x10049801
add eax, 1
cmp eax, 6
jl 0x100497f0
add dword [esp + 0x10], eax
add eax, 1
mov dword [esp + 0x38], eax
jmp 0x10048e6e
mov ecx, 8
jmp 0x100499bf
mov ecx, 6
jmp 0x100499bf
mov ecx, 0xc
jmp 0x100499bf
mov ecx, 0x13
jmp 0x100499bf
mov edi, dword [esp + 0x10]
add edi, 0x28
push edi
call dword [0x10c7f348]
mov esi, eax
add esp, 4
test esi, esi
jne 0x10049869
mov ecx, 0x15
mov eax, dword [ecx*4 + 0x10c11138]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
xor eax, eax
jmp 0x10049ac7
mov ecx, dword [esp + 0x4a0]
xor ebp, ebp
mov dword [esi + 4], edi
mov word [esi + 0x18], 0x28
mov word [esi + 0x1c], bp
mov dword [esi], 0x50435245
mov dword [esi + 8], ecx
mov dword [esi + 0xc], ebp
mov word [esi + 0x1e], bp
mov dword [esi + 0x20], ebp
mov dword [esi + 0x24], ebp
mov eax, 3
mov word [esi + 0x1a], ax
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ebp
movzx eax, word [esi + 0x18]
add eax, esi
mov dword [esp + 0x80], eax
movzx edx, word [esi + 0x1c]
movzx edi, word [esi + 0x1a]
imul edi, edx
add edi, eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x7c], eax
mov dword [esp + 0x14], eax
lea eax, [esp + 0x68]
push eax
push ebp
lea edx, [esp + 0x5c]
push edx
lea eax, [esp + 0x5c]
push eax
mov eax, dword [esp + 0x28]
push ebp
push ebp
lea edx, [esp + 0x34]
push edx
push eax
lea edx, [esp + 0x34]
push edx
lea eax, [esp + 0x68]
push eax
lea edx, [esp + 0x50]
mov eax, ecx
push edx
and eax, 7
push eax
mov dword [esp + 0xa8], edi
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], ebp
mov byte [edi], 0x50
push ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x5c], ebp
call fcn.1030ad1f
mov cx, word [esp + 0x5c]
mov word [esi + 0x10], cx
mov dx, word [esp + 0xc0]
add esp, 0x34
mov word [esi + 0x12], dx
cmp dword [esp + 0x98], ebp
je 0x10049951
or dword [esi + 8], 0x4000000
cmp dword [esp + 0x1c], ebp
mov ebx, dword [esp + 0x14]
jne 0x10049969
cmp ebx, dword [esp + 0x18]
jae 0x10049969
mov dword [esp + 0x1c], 0x16
mov eax, dword [esp + 0x44]
mov byte [eax], 0
add eax, 1
sub eax, edi
cmp eax, dword [esp + 0x10]
jle 0x10049983
mov dword [esp + 0x1c], 0x17
mov ax, word [esi + 0x12]
cmp ax, word [esi + 0x10]
jbe 0x100499a5
push esi
mov dword [esp + 0x20], 0xf
call dword [0x10c7f34c]
mov ecx, dword [esp + 0x20]
add esp, 4
jmp 0x100499bf
cmp dword [esp + 0x1c], ebp
je 0x100499df
push esi
call dword [0x10c7f34c]
mov ecx, dword [esp + 0x20]
add esp, 4
jmp 0x100499bf
mov ebx, dword [esp + 0x14]
sub ebx, dword [esp + 0x3c]
mov edx, dword [esp + 0x60]
sar ebx, 1
mov dword [edx], ebx
mov eax, dword [ecx*4 + 0x10c11138]
mov ecx, dword [esp + 0x64]
mov dword [ecx], eax
xor eax, eax
jmp 0x10049ac7
mov eax, dword [esp + 0x4a0]
test al, 0x10
jne 0x10049a7a
mov edx, dword [esp + 0x90]
push edx
mov dword [esp + 0x40], eax
push ebp
lea eax, [esp + 0x44]
push eax
push edi
call fcn.10048910
add esp, 0x10
test eax, eax
je 0x10049a13
or dword [esi + 8], 0x10
jmp 0x10049a7a
mov eax, dword [esp + 0x50]
cmp eax, ebp
jge 0x10049a2e
push ebp
lea ecx, [esp + 0x40]
push ecx
push edi
call fcn.10048b20
add esp, 0xc
cmp eax, ebp
jl 0x10049a5d
mov ecx, eax
and ecx, 0xff
cmp ecx, 0x7f
jge 0x10049a7a
test eax, 0x100
je 0x10049a50
mov edx, dword [esp + 0x6c]
movzx edx, byte [ecx + edx]
cmp edx, ecx
jne 0x10049a50
mov eax, ecx
or dword [esi + 8], 0x40000000
mov word [esi + 0x14], ax
jmp 0x10049a7a
mov eax, dword [esp + 0x90]
push eax
push ebp
push edi
call fcn.100489e0
add esp, 0xc
test eax, eax
je 0x10049a7a
or dword [esi + 8], 0x10000000
mov ecx, dword [esp + 0x54]
cmp ecx, ebp
jl 0x10049ac5
mov edx, dword [esi + 8]
test dl, 0x10
je 0x10049a92
test ecx, 0x200
je 0x10049ac5
mov eax, ecx
and eax, 0xff
cmp eax, 0x7f
jge 0x10049ac5
test ecx, 0x100
je 0x10049ab8
mov edi, dword [esp + 0x6c]
movzx edi, byte [eax + edi]
cmp edi, eax
jne 0x10049ab8
and ecx, 0xfffffeff
or edx, 0x20000000
mov word [esi + 0x16], cx
mov dword [esi + 8], edx
mov eax, esi
mov ecx, dword [esp + 0x490]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.102f2d37
add esp, 0x484
ret