Function at 0x4d7540
Capabilities:
Check os version
Get number of processors

Disassembly:
push 0xffffffffffffffff
push 0x56b6a5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x90
push ebx
push ebp
xor eax, eax
push esi
push edi
mov esi, ecx
mov dword [esp + 0x4c], eax
mov cl, byte [esp + 0x33]
mov dword [esp + 0xa8], 1
mov byte [esp + 0x10], cl
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], eax
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 2
call fcn.00531800
push 6
push 0x59c22c
lea ecx, [esp + 0x28]
mov byte [esp + 0xb0], 3
call fcn.005318a0
push 3
lea ecx, [esp + 0xb8]
mov byte [esp + 0xac], 4
mov dword [esp + 0x2c], 0
mov dword [esp + 0x30], 0
call fcn.00531ac0
mov bl, al
push 4
and ebx, 0xff
lea ecx, [esp + 0xb8]
shl ebx, 8
call fcn.00531ac0
and eax, 0xff
push 5
add ebx, eax
lea ecx, [esp + 0xb8]
shl ebx, 8
call fcn.00531ac0
and eax, 0xff
add eax, ebx
cmp eax, 0xb0101
jg 0x4d86dd
je 0x4d86c7
add eax, 0xfff4ffff
cmp eax, 0x45
ja case.default.0x4d8873
jmp dword [eax*4 + 0x4d8dc4]
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov dl, byte [esi + 0x16]
and edx, 7
lea eax, [edx - 1]
cmp eax, 3
ja case.default.0x4d764e
jmp dword [eax*4 + 0x4d8edc]
push 0x79
jmp 0x4d7673
push 0x80
jmp 0x4d7673
push 0x81
jmp 0x4d7673
push 0x82
jmp 0x4d7673
push 0xff
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
push ecx
lea eax, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push eax
call fcn.00531810
lea ecx, [esp + 0x94]
push ecx
call fcn.005388b0
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x57217c]
mov ebx, ecx
mov byte [esp + 0xa8], 5
cmp eax, ebx
jae 0x4d76b9
mov ebx, eax
lea edx, [esp + 0x10]
cmp edx, esi
jne 0x4d76de
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404c30
push 0
push 0
lea ecx, [esp + 0x18]
call fcn.00404c30
jmp 0x4d7767
test ebx, ebx
jbe 0x4d772b
cmp ebx, ecx
jne 0x4d772b
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d76f2
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4d772b
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d770f
mov eax, 0x572184
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4d7767
push 1
push ebx
lea ecx, [esp + 0x18]
call fcn.00404d70
test al, al
je 0x4d7767
mov esi, dword [esi + 4]
test esi, esi
jne 0x4d7747
mov esi, 0x572184
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x94]
mov byte [esp + 0xa8], 4
test eax, eax
je case.default.0x4d8873
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4d85ce
cmp al, 0xff
je 0x4d85ce
dec al
mov byte [ecx], al
jmp case.default.0x4d8873
mov al, byte [esi + 0x16]
shr eax, 3
and eax, 3
cmp eax, 3
ja case.default.0x4d8873
jmp dword [eax*4 + 0x4d8eec]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x3ff00000
jmp case.default.0x4d8873
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x40000000
jmp case.default.0x4d8873
mov al, byte [esi + 0x17]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 1
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x16]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x20
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x17]
lea eax, [esp + 0x10]
push eax
push 0x1276
and cl, 0x40
push 0x1275
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x17]
lea edx, [esp + 0x10]
push edx
push 0x1276
and al, 0x10
push 0x1277
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x24]
lea ecx, [esp + 0x10]
push ecx
push 0x1276
and dl, 8
push 0x1278
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x17]
lea eax, [esp + 0x10]
push eax
push 0x1276
and cl, 8
push 0x1278
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x17]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x20
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x19]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x80
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x18]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 4
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x18]
lea edx, [esp + 0x10]
push edx
push 0x1147
and al, 1
push 0x1148
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x18]
lea ecx, [esp + 0x10]
push ecx
push 0x1147
and dl, 2
push 0x1148
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x19]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 1
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x19]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 2
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x19]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 4
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x19]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 8
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x24]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x10
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x24]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x20
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1a]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 8
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1a]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x10
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1a]
lea ecx, [esp + 0x10]
push ecx
push 0x1107
and dl, 0x20
push 0x1106
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1a]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 1
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push 0x1276
and al, 0x80
push 0x1274
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor ecx, ecx
mov cl, byte [esi + 0x29]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov al, byte [esi + 0x18]
test al, 8
je 0x4d7af2
push 2
jmp 0x4d7afc
test al, 0x20
je 0x4d7afa
push 1
jmp 0x4d7afc
push 4
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
lea eax, [esp + 0x54]
push eax
call fcn.005388b0
add esp, 8
mov esi, eax
mov ecx, dword [esi + 8]
mov eax, dword [0x57217c]
mov ebx, ecx
mov byte [esp + 0xa8], 6
cmp eax, ebx
jae 0x4d7b3f
mov ebx, eax
lea edx, [esp + 0x10]
cmp edx, esi
jne 0x4d7b70
push eax
push ebx
lea ecx, [esp + 0x18]
call fcn.00404c30
push 0
push 0
lea ecx, [esp + 0x18]
call fcn.00404c30
mov eax, dword [esp + 0x54]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
test ebx, ebx
jbe 0x4d7bcc
cmp ebx, ecx
jne 0x4d7bcc
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d7b84
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4d7bcc
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d7ba1
mov eax, 0x572184
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xa8], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x54]
jmp 0x4d7776
push 1
push ebx
lea ecx, [esp + 0x18]
call fcn.00404d70
test al, al
je 0x4d7c08
mov esi, dword [esi + 4]
test esi, esi
jne 0x4d7be8
mov esi, 0x572184
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x54]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
mov al, byte [esi + 0x18]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x10
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x18]
lea ecx, [esp + 0x10]
push ecx
push 0x1107
and dl, 0x40
push 0x1106
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x18]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 0x80
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x19]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x10
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x19]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x20
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x1b]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x572c30]
fstp qword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x28]
push eax
push ecx
lea edx, [esp + 0x3c]
push str._.2f
push edx
call fcn.00556aa4
add esp, 0x10
jmp 0x4d8b76
xor ecx, ecx
mov cl, byte [esi + 0x23]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
mov al, byte [esi + 0x19]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x20
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov al, byte [esi + 0x20]
and eax, 3
cmp eax, 3
ja case.default.0x4d7d48
jmp dword [eax*4 + 0x4d8efc]
push 0x10
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
push 0x56
jmp 0x4d7d6a
push 1
jmp 0x4d7d6a
push 2
jmp 0x4d7d6a
push 3
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
lea eax, [esp + 0x84]
push eax
call fcn.005388b0
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x57217c]
mov ebx, eax
mov byte [esp + 0xa8], 7
cmp edi, ebx
jae 0x4d7db1
mov ebx, edi
lea ecx, [esp + 0x10]
cmp ecx, esi
jne 0x4d7e35
cmp dword [esp + 0x18], ebx
jae 0x4d7dc4
call fcn.00556597
lea ecx, [esp + 0x10]
call fcn.00405210
mov eax, dword [esp + 0x18]
sub eax, ebx
cmp eax, edi
jae 0x4d7dd9
mov edi, eax
test edi, edi
jbe 0x4d7e14
mov edx, dword [esp + 0x14]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00556b00
mov esi, dword [esp + 0x24]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x10]
push 0
push esi
call fcn.00404d70
test al, al
je 0x4d7e14
push esi
lea ecx, [esp + 0x14]
call fcn.00404d50
push 0
push 0
lea ecx, [esp + 0x18]
call fcn.00404c30
mov eax, dword [esp + 0x84]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
test ebx, ebx
jbe 0x4d7e94
cmp ebx, eax
jne 0x4d7e94
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d7e49
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4d7e94
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d7e66
mov eax, 0x572184
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xa8], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x84]
jmp 0x4d7776
push 1
push ebx
lea ecx, [esp + 0x18]
call fcn.00404d70
test al, al
je 0x4d7ece
mov esi, dword [esi + 4]
test esi, esi
jne 0x4d7eb0
mov esi, 0x572184
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov eax, ecx
push ebx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00404d50
mov eax, dword [esp + 0x84]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
xor eax, eax
mov al, byte [esi + 0x22]
lea eax, [eax + eax*4]
lea ecx, [eax + eax*4]
mov eax, 0x80808081
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
mov al, byte [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x10
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x27]
mov ecx, eax
shl ecx, 7
sub ecx, eax
mov eax, 0x80808081
imul ecx
add edx, ecx
sar edx, 7
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
mov al, byte [esi + 0x1d]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 1
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1d]
lea ecx, [esp + 0x10]
push ecx
push 0x1229
and dl, 0x20
push 0x1227
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1d]
lea eax, [esp + 0x10]
push eax
push 0x1227
and cl, 4
push 0x1229
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1d]
lea edx, [esp + 0x10]
push edx
push 0x1227
and al, 8
push 0x1229
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1d]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 2
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1d]
lea eax, [esp + 0x10]
push eax
push 0x1229
and cl, 0x10
push 0x1227
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1d]
lea edx, [esp + 0x10]
push edx
push 0x1229
and al, 0x80
push 0x1231
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x1e]
lea eax, [eax + eax*2]
lea ecx, [eax + eax*4]
shl ecx, 2
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x1f]
lea edx, [eax + eax*4]
shl edx, 1
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x26]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fmul qword [0x572c38]
jmp 0x4d7cd4
mov dl, byte [esi + 0x20]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 8
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x20]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 4
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1c]
lea edx, [esp + 0x10]
push edx
push 0x1147
and al, 0x40
push 0x1148
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1c]
lea ecx, [esp + 0x10]
push ecx
push 0x1147
and dl, 0x80
push 0x1148
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1a]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 0x40
push 0x1664
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1c]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 1
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov al, byte [esi + 0x1c]
shr eax, 1
and eax, 3
cmp eax, 3
ja case.default.0x4d8186
jmp dword [eax*4 + 0x4d8f0c]
push 0x10
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
push 0x56
jmp 0x4d81a8
push 0x34
jmp 0x4d81a8
push 0x33
jmp 0x4d81a8
push 3
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
lea eax, [esp + 0x64]
push eax
call fcn.005388b0
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x57217c]
mov ebx, eax
mov byte [esp + 0xa8], 8
cmp edi, ebx
jae 0x4d81ec
mov ebx, edi
lea ecx, [esp + 0x10]
cmp ecx, esi
jne 0x4d826d
cmp dword [esp + 0x18], ebx
jae 0x4d81ff
call fcn.00556597
lea ecx, [esp + 0x10]
call fcn.00405210
mov eax, dword [esp + 0x18]
sub eax, ebx
cmp eax, edi
jae 0x4d8214
mov edi, eax
test edi, edi
jbe 0x4d824f
mov edx, dword [esp + 0x14]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00556b00
mov esi, dword [esp + 0x24]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x10]
push 0
push esi
call fcn.00404d70
test al, al
je 0x4d824f
push esi
lea ecx, [esp + 0x14]
call fcn.00404d50
push 0
push 0
lea ecx, [esp + 0x18]
call fcn.00404c30
mov eax, dword [esp + 0x64]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
test ebx, ebx
jbe 0x4d82c9
cmp ebx, eax
jne 0x4d82c9
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d8281
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4d82c9
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d829e
mov eax, 0x572184
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [esp + 0xa8], 4
mov byte [eax - 1], cl
mov eax, dword [esp + 0x64]
jmp 0x4d7776
push 1
push ebx
lea ecx, [esp + 0x18]
call fcn.00404d70
test al, al
je 0x4d8305
mov esi, dword [esi + 4]
test esi, esi
jne 0x4d82e5
mov esi, 0x572184
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x64]
mov byte [esp + 0xa8], 4
jmp 0x4d7776
mov al, byte [esi + 0x1c]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 8
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1c]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x10
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1a]
lea eax, [esp + 0x10]
push eax
push 0x1107
and cl, 0x20
push 0x1106
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x1a]
lea edx, [esp + 0x10]
push edx
push 0x1331
and al, 2
push 0x1332
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1a]
lea ecx, [esp + 0x10]
push ecx
push 0x1243
and dl, 4
push 0x1242
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x1c]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 0x20
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x24]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 0x20
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x1d]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 0x40
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov al, byte [esi + 0x16]
and eax, 7
dec eax
cmp eax, 3
ja case.default.0x4d843c
jmp dword [eax*4 + 0x4d8f1c]
push 0x79
jmp 0x4d8461
push 0x80
jmp 0x4d8461
push 0x81
jmp 0x4d8461
push 0x82
jmp 0x4d8461
push 0xff
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
push ecx
lea edx, [esp + 0x24]
mov ecx, esp
mov dword [esp + 0x28], esp
push edx
call fcn.00531810
lea eax, [esp + 0x74]
push eax
call fcn.005388b0
add esp, 8
mov esi, eax
mov eax, dword [esi + 8]
mov edi, dword [0x57217c]
mov ebx, eax
mov byte [esp + 0xa8], 9
cmp edi, ebx
jae 0x4d84a5
mov ebx, edi
lea ecx, [esp + 0x10]
cmp ecx, esi
jne 0x4d851a
cmp dword [esp + 0x18], ebx
jae 0x4d84b8
call fcn.00556597
lea ecx, [esp + 0x10]
call fcn.00405210
mov eax, dword [esp + 0x18]
sub eax, ebx
cmp eax, edi
jae 0x4d84cd
mov edi, eax
test edi, edi
jbe 0x4d8508
mov edx, dword [esp + 0x14]
sub eax, edi
push eax
lea ecx, [ebx + edx]
lea edx, [edi + ecx]
push edx
push ecx
call fcn.00556b00
mov esi, dword [esp + 0x24]
add esp, 0xc
sub esi, edi
lea ecx, [esp + 0x10]
push 0
push esi
call fcn.00404d70
test al, al
je 0x4d8508
push esi
lea ecx, [esp + 0x14]
call fcn.00404d50
push 0
push 0
lea ecx, [esp + 0x18]
call fcn.00404c30
jmp 0x4d85a3
test ebx, ebx
jbe 0x4d8567
cmp ebx, eax
jne 0x4d8567
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d852e
mov eax, 0x572184
cmp byte [eax - 1], 0xfe
jae 0x4d8567
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esi + 4]
test eax, eax
jne 0x4d854b
mov eax, 0x572184
mov dword [esp + 0x14], eax
mov ecx, dword [esi + 8]
mov dword [esp + 0x18], ecx
mov esi, dword [esi + 0xc]
mov dword [esp + 0x1c], esi
mov cl, byte [eax - 1]
inc cl
mov byte [eax - 1], cl
jmp 0x4d85a3
push 1
push ebx
lea ecx, [esp + 0x18]
call fcn.00404d70
test al, al
je 0x4d85a3
mov esi, dword [esi + 4]
test esi, esi
jne 0x4d8583
mov esi, 0x572184
mov edi, dword [esp + 0x14]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov byte [ebx + ecx], 0
mov eax, dword [esp + 0x74]
mov byte [esp + 0xa8], 4
test eax, eax
je case.default.0x4d8873
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4d85ce
cmp al, 0xff
je 0x4d85ce
dec al
mov byte [ecx], al
jmp case.default.0x4d8873
push ecx
call fcn.00556360
add esp, 4
jmp case.default.0x4d8873
mov al, byte [esi + 0x16]
shr eax, 3
and eax, 3
cmp eax, 3
ja case.default.0x4d8873
jmp dword [eax*4 + 0x4d8f2c]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x40080000
jmp case.default.0x4d8873
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x40100000
jmp case.default.0x4d8873
mov al, byte [esi + 0x20]
lea edx, [esp + 0x10]
push edx
push 0x1670
and al, 0x20
push 0x1669
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x24]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 4
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov cl, byte [esi + 0x24]
lea eax, [esp + 0x10]
push eax
push 0x1056
and cl, 8
push 0x1055
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov al, byte [esi + 0x24]
lea edx, [esp + 0x10]
push edx
push 0x1056
and al, 1
push 0x1055
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov dl, byte [esi + 0x24]
lea ecx, [esp + 0x10]
push ecx
push 0x1056
and dl, 2
push 0x1055
push edx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x21]
mov dword [esp + 0x24], eax
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
cmp eax, 0xbff02
jg 0x4d8865
je 0x4d883b
cmp eax, 0xb0301
jg 0x4d87d7
je 0x4d8794
sub eax, 0xb0201
je 0x4d877e
dec eax
je 0x4d8748
dec eax
jne case.default.0x4d8873
push 0x10
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
mov al, byte [esi + 0x18]
test al, al
jne 0x4d8736
push 0x65
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
jmp case.default.0x4d8873
push 0x64
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
jmp case.default.0x4d8873
xor eax, eax
mov al, byte [esi + 0x17]
mov ecx, eax
shl ecx, 5
sub ecx, eax
lea ecx, [eax + ecx*8]
mov eax, 0x80808081
shl ecx, 2
imul ecx
add edx, ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
xor ecx, ecx
mov cl, byte [esi + 0x16]
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
push 0x12
push 4
lea ecx, [esp + 0x28]
call fcn.00531ad0
cmp byte [esi + 0x14], 0x47
jne 0x4d87c5
cmp byte [esi + 0x15], 0x44
jne 0x4d87c5
cmp byte [esi + 0x16], 0x43
jne 0x4d87c5
push 0x73
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
jmp case.default.0x4d8873
push 0x74
push 5
lea ecx, [esp + 0x28]
call fcn.00531ad0
jmp case.default.0x4d8873
cmp eax, 0xb0401
je 0x4d881a
cmp eax, 0xbff01
jne case.default.0x4d8873
mov eax, dword [0x5ac89c]
xor edx, edx
mov dl, byte [0x5ac89e]
xor ecx, ecx
shl edx, 8
mov cl, ah
and eax, 0xff
add edx, ecx
shl edx, 8
add edx, eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
mov al, byte [esi + 0x15]
lea edx, [esp + 0x10]
push edx
push 0x2068
and al, 8
push 0x2067
push eax
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
mov ecx, dword [0x5ac8a0]
xor edx, edx
mov dl, byte [0x5ac89f]
and ecx, 0xff
shl ecx, 8
add ecx, edx
mov dword [esp + 0x24], ecx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
add eax, 0xfff400fd
cmp eax, 5
ja case.default.0x4d8873
jmp dword [eax*4 + 0x4d8f3c]
mov cl, byte [0x5ac890]
lea eax, [esp + 0x10]
push eax
push 0x1362
and cl, 0x80
push 0x1361
push ecx
mov ecx, esi
call fcn.004d7320
jmp case.default.0x4d8873
xor edx, edx
xor eax, eax
mov dl, byte [0x5ac8a2]
mov al, byte [0x5ac8a1]
shl edx, 8
add edx, eax
mov dword [esp + 0x24], edx
fild dword [esp + 0x24]
fstp qword [esp + 0x28]
jmp case.default.0x4d8873
mov eax, dword [0x5ac898]
xor ecx, ecx
mov cl, byte [0x5ac897]
mov edx, eax
shl ecx, 8
and edx, 0xff
add ecx, edx
xor edx, edx
mov dl, ah
lea eax, [esp + 0x34]
shl ecx, 4
shr edx, 4
add ecx, edx
push ecx
push 0x59bb6c
push eax
call fcn.00556aa4
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x10]
call fcn.004050f0
cmp eax, ebx
jae 0x4d891f
call fcn.0055636b
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4d8936
mov al, byte [edi - 1]
test al, al
je 0x4d8936
cmp al, 0xff
jne 0x4d8af9
test ebx, ebx
je 0x4d8b4f
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x4d8b16
cmp eax, ebx
jae 0x4d8b2f
jmp 0x4d8b16
mov al, byte [0x5ac899]
xor ecx, ecx
mov cl, byte [0x5ac89a]
and eax, 0xf
xor edx, edx
mov dl, byte [0x5ac89b]
shl eax, 8
add eax, ecx
lea ecx, [esp + 0x34]
shr edx, 6
lea eax, [edx + eax*4]
push eax
push 0x59bb6c
push ecx
call fcn.00556aa4
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x10]
call fcn.004050f0
cmp eax, ebx
jae 0x4d89b0
call fcn.0055636b
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4d89c7
mov al, byte [edi - 1]
test al, al
je 0x4d89c7
cmp al, 0xff
jne 0x4d8af9
test ebx, ebx
je 0x4d8b4f
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x4d8b16
cmp eax, ebx
jae 0x4d8b2f
jmp 0x4d8b16
mov al, byte [0x5ac89b]
mov ecx, dword [0x5ac89c]
and eax, 0x3f
and ecx, 0xff
shl eax, 8
add eax, ecx
lea edx, [esp + 0x34]
push eax
push 0x59bb6c
push edx
call fcn.00556aa4
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x10]
call fcn.004050f0
cmp eax, ebx
jae 0x4d8a37
call fcn.0055636b
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4d8a59
mov al, byte [edi - 1]
test al, al
je 0x4d8a59
cmp al, 0xff
je 0x4d8a59
test ebx, ebx
jne 0x4d8a79
dec al
push ebx
mov byte [edi - 1], al
jmp 0x4d8b51
test ebx, ebx
je 0x4d8b4f
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x4d8a6e
cmp eax, ebx
jae 0x4d8a87
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
push ebx
lea ecx, [esp + 0x14]
call fcn.00405100
mov edi, dword [esp + 0x14]
mov ecx, ebx
lea esi, [esp + 0x34]
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
jmp 0x4d8b3e
mov cl, byte [0x5ac89d]
xor edx, edx
mov dl, byte [0x5ac89f]
and ecx, 0x3f
shl ecx, 8
add ecx, edx
lea eax, [esp + 0x34]
push ecx
push 0x59bb6c
push eax
call fcn.00556aa4
lea edi, [esp + 0x40]
or ecx, 0xffffffff
xor eax, eax
add esp, 0xc
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
lea ecx, [esp + 0x10]
call fcn.004050f0
cmp eax, ebx
jae 0x4d8ae6
call fcn.0055636b
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4d8b05
mov al, byte [edi - 1]
test al, al
je 0x4d8b05
cmp al, 0xff
je 0x4d8b05
test ebx, ebx
jne 0x4d8b21
dec al
push ebx
mov byte [edi - 1], al
jmp 0x4d8b51
test ebx, ebx
je 0x4d8b4f
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x4d8b16
cmp eax, ebx
jae 0x4d8b2f
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
push ebx
lea ecx, [esp + 0x14]
call fcn.00405100
mov edi, dword [esp + 0x14]
mov ecx, ebx
lea esi, [esp + 0x34]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
push ebx
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14]
call fcn.00404d50
jmp case.default.0x4d8873
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
fld qword [esp + 0x28]
call fcn.00556e88
push eax
lea eax, [esp + 0x38]
push 0x59bb6c
push eax
call fcn.00556aa4
add esp, 0xc
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x4d8c33
lea edi, [esp + 0x34]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov ebx, ecx
cmp ebx, 0xfffffffd
jbe 0x4d8b9c
call fcn.0055636b
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4d8bca
mov al, byte [edi - 1]
test al, al
je 0x4d8bca
cmp al, 0xff
je 0x4d8bca
test ebx, ebx
jne 0x4d8bfb
dec al
mov byte [edi - 1], al
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ecx
jmp 0x4d8c37
test ebx, ebx
jne 0x4d8be3
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4d8c37
mov eax, dword [esp + 0x1c]
cmp eax, 0x1f
ja 0x4d8bf0
cmp eax, ebx
jae 0x4d8c09
push 1
lea ecx, [esp + 0x14]
call fcn.00404bb0
push ebx
lea ecx, [esp + 0x14]
call fcn.00405100
mov edi, dword [esp + 0x14]
mov ecx, ebx
lea esi, [esp + 0x34]
mov edx, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x18], ebx
mov byte [ebx + eax], 0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
jmp 0x4d8c37
mov eax, dword [esp + 0x14]
mov ebp, dword [esp + 0xb0]
mov dl, byte [esp + 0x10]
xor edi, edi
mov ebx, ecx
mov byte [ebp], dl
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
mov esi, dword [0x57217c]
cmp esi, ebx
jae 0x4d8c5e
mov ebx, esi
lea edx, [esp + 0x10]
cmp ebp, edx
jne 0x4d8cbd
cmp ebx, edi
jbe 0x4d8c6f
call fcn.00556597
mov ecx, ebp
call fcn.00405210
mov eax, dword [ebp + 8]
sub eax, ebx
cmp eax, esi
jae 0x4d8c81
mov esi, eax
cmp esi, edi
jbe 0x4d8cb4
mov ecx, dword [ebp + 4]
sub eax, esi
add ebx, ecx
push eax
lea ecx, [ebx + esi]
push ecx
push ebx
call fcn.00556b00
mov ebx, dword [ebp + 8]
add esp, 0xc
sub ebx, esi
mov ecx, ebp
push edi
push ebx
call fcn.00404d70
test al, al
je 0x4d8cb4
push ebx
mov ecx, ebp
call fcn.00404d50
mov ecx, ebp
call fcn.00405210
jmp 0x4d8d35
cmp ebx, edi
jbe 0x4d8cfa
cmp ebx, ecx
jne 0x4d8cfa
cmp eax, edi
mov edx, 0x572184
je 0x4d8cd0
mov edx, eax
cmp byte [edx - 1], 0xfe
jae 0x4d8cfa
cmp eax, edi
mov dword [ebp + 4], edi
mov dword [ebp + 8], edi
mov dword [ebp + 0xc], edi
jne 0x4d8ce8
mov eax, 0x572184
mov edx, dword [esp + 0x1c]
mov dword [ebp + 4], eax
mov dword [ebp + 8], ecx
mov dword [ebp + 0xc], edx
inc byte [eax - 1]
jmp 0x4d8d35
push 1
push ebx
mov ecx, ebp
call fcn.00404d70
test al, al
je 0x4d8d35
mov esi, dword [esp + 0x14]
cmp esi, edi
jne 0x4d8d15
mov esi, 0x572184
mov edi, dword [ebp + 4]
mov ecx, ebx
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov eax, dword [ebp + 4]
mov dword [ebp + 8], ebx
add ebx, eax
xor edi, edi
mov byte [ebx], 0
mov dword [esp + 0x4c], 1
lea ecx, [esp + 0x20]
mov byte [esp + 0xa8], 3
call fcn.00531940
lea ecx, [esp + 0x48]
mov byte [esp + 0xa8], 2
call fcn.00531940
mov eax, dword [esp + 0x14]
cmp eax, edi
je 0x4d8d84
lea ecx, [eax - 1]
mov al, byte [eax - 1]
test al, al
je 0x4d8d7b
cmp al, 0xff
je 0x4d8d7b
dec al
mov byte [ecx], al
jmp 0x4d8d84
push ecx
call fcn.00556360
add esp, 4
lea ecx, [esp + 0xb4]
mov dword [esp + 0x14], edi
mov dword [esp + 0x18], edi
mov dword [esp + 0x1c], edi
mov byte [esp + 0xa8], 0
call fcn.00531940
mov ecx, dword [esp + 0xa0]
pop edi
mov eax, ebp
pop esi
pop ebp
mov dword fs:[0], ecx
pop ebx
add esp, 0x9c
ret 8