Function at 0x47c320
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push 0xffffffffffffffff
push 0x4d4406
mov eax, dword fs:[0]
push eax
sub esp, 0x5c
push ebx
push ebp
push esi
push edi
mov eax, dword [0x513330]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x80]
xor esi, esi
mov dword [esp + 0x14], esi
mov edi, 1
mov dword [esp + 0x78], edi
mov eax, dword [0x51856c]
mov edx, dword [eax + 0xc]
mov ecx, 0x51856c
call edx
add eax, 0x10
mov dword [ebp], eax
mov eax, dword [esp + 0x84]
mov ecx, dword [eax - 0xc]
cmp ecx, esi
mov dword [esp + 0x14], edi
jle 0x47cfb5
jmp 0x47c390
lea eax, [esp + 0x84]
push eax
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x1c]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4f052c
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c3d6
test dx, dx
je 0x47c3d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c3d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c3b0
xor eax, eax
jmp 0x47c3db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x18]
sete bl
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47c400
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c411
push 4
push str.0000
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x20]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e78e0
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c456
test dx, dx
je 0x47c452
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c456
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c430
xor eax, eax
jmp 0x47c45b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x1c]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c480
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c491
push 4
push str.0001
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x24]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e790c
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c4d6
test dx, dx
je 0x47c4d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c4d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c4b0
xor eax, eax
jmp 0x47c4db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x20]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c500
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c511
push 4
push str.0010
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x28]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e795c
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c556
test dx, dx
je 0x47c552
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c556
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c530
xor eax, eax
jmp 0x47c55b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x24]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c580
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c591
push 4
push str.0011
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x2c]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e79dc
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c5d6
test dx, dx
je 0x47c5d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c5d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c5b0
xor eax, eax
jmp 0x47c5db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x28]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c600
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c611
push 4
push str.0100
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x30]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4ed124
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c656
test dx, dx
je 0x47c652
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c656
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c630
xor eax, eax
jmp 0x47c65b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x2c]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c680
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c691
push 4
push str.0101
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x34]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e7a90
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c6d6
test dx, dx
je 0x47c6d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c6d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c6b0
xor eax, eax
jmp 0x47c6db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x30]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c700
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c711
push 4
push str.0110
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x38]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e7b0c
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c756
test dx, dx
je 0x47c752
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c756
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c730
xor eax, eax
jmp 0x47c75b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x34]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c780
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c791
push 4
push str.0111
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x3c]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e7b5c
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c7d6
test dx, dx
je 0x47c7d2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c7d6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c7b0
xor eax, eax
jmp 0x47c7db
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x38]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c800
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c811
push 4
push str.1000
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x40]
call fcn.0040b870
mov eax, dword [eax]
mov ecx, 0x4e7bb8
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c856
test dx, dx
je 0x47c852
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c856
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c830
xor eax, eax
jmp 0x47c85b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
mov eax, dword [esp + 0x3c]
sete bl
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x47c880
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c891
push 4
push str.1001
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x48]
call fcn.0040b870
mov byte [esp + 0x78], 2
or dword [esp + 0x14], 2
mov eax, dword [eax]
mov ecx, 0x4f6ba0
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c8dd
test dx, dx
je 0x47c8d9
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c8dd
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c8b7
xor eax, eax
jmp 0x47c8e2
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47c948
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x44]
call fcn.0040b870
or dword [esp + 0x14], 4
mov eax, dword [eax]
mov ecx, 0x4f6ba4
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47c936
test dx, dx
je 0x47c932
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47c936
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c910
xor eax, eax
jmp 0x47c93b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47c948
xor bl, bl
jmp 0x47c94a
mov bl, 1
test byte [esp + 0x14], 4
je 0x47c976
mov eax, dword [esp + 0x40]
and dword [esp + 0x14], 0xfffffffb
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47c976
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test byte [esp + 0x14], 2
je 0x47c9a6
mov eax, dword [esp + 0x44]
and dword [esp + 0x14], 0xfffffffd
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47c9a6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47c9b7
push 4
push 0x4f6ba8
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x50]
call fcn.0040b870
mov byte [esp + 0x78], 3
or dword [esp + 0x14], 8
mov eax, dword [eax]
mov ecx, 0x4f6bb4
lea ecx, [ecx]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47ca06
test dx, dx
je 0x47ca02
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47ca06
add eax, 4
add ecx, 4
test dx, dx
jne 0x47c9e0
xor eax, eax
jmp 0x47ca0b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47ca6d
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x4c]
call fcn.0040b870
or dword [esp + 0x14], 0x10
mov eax, dword [eax]
mov ecx, str.BDMS
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47ca5b
test dx, dx
je 0x47ca57
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47ca5b
add eax, 4
add ecx, 4
test dx, dx
jne 0x47ca35
xor eax, eax
jmp 0x47ca60
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47ca6d
xor bl, bl
jmp 0x47ca6f
mov bl, 1
test byte [esp + 0x14], 0x10
je 0x47ca9b
mov eax, dword [esp + 0x48]
and dword [esp + 0x14], 0xffffffef
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47ca9b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test byte [esp + 0x14], 8
je 0x47cacb
mov eax, dword [esp + 0x4c]
and dword [esp + 0x14], 0xfffffff7
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cacb
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47cadc
push 4
push 0x4f6bb8
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x58]
call fcn.0040b870
mov byte [esp + 0x78], 4
or dword [esp + 0x14], 0x20
mov eax, dword [eax]
mov ecx, 0x4f6bc4
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cb28
test dx, dx
je 0x47cb24
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cb28
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cb02
xor eax, eax
jmp 0x47cb2d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cb8f
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x54]
call fcn.0040b870
or dword [esp + 0x14], 0x40
mov eax, dword [eax]
mov ecx, 0x4f6bc8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cb7d
test dx, dx
je 0x47cb79
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cb7d
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cb57
xor eax, eax
jmp 0x47cb82
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cb8f
xor bl, bl
jmp 0x47cb91
mov bl, 1
test byte [esp + 0x14], 0x40
je 0x47cbbd
mov eax, dword [esp + 0x50]
and dword [esp + 0x14], 0xffffffbf
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cbbd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test byte [esp + 0x14], 0x20
je 0x47cbed
mov eax, dword [esp + 0x54]
and dword [esp + 0x14], 0xffffffdf
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cbed
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47cbfe
push 4
push 0x4f6bcc
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x60]
call fcn.0040b870
mov byte [esp + 0x78], 5
or dword [esp + 0x14], 0x80
mov eax, dword [eax]
mov ecx, 0x4ed044
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cc4d
test dx, dx
je 0x47cc49
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cc4d
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cc27
xor eax, eax
jmp 0x47cc52
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47ccb8
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x5c]
call fcn.0040b870
or dword [esp + 0x14], 0x100
mov eax, dword [eax]
mov ecx, 0x4e7224
nop
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cca6
test dx, dx
je 0x47cca2
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cca6
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cc80
xor eax, eax
jmp 0x47ccab
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47ccb8
xor bl, bl
jmp 0x47ccba
mov bl, 1
test dword [esp + 0x14], 0x100
je 0x47ccec
mov eax, dword [esp + 0x58]
and dword [esp + 0x14], 0xfffffeff
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47ccec
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test byte [esp + 0x14], 0x80
je 0x47cd1f
mov eax, dword [esp + 0x5c]
and dword [esp + 0x14], 0xffffff7f
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cd1f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47cd30
push 4
push str.1101
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x68]
call fcn.0040b870
mov byte [esp + 0x78], 6
or dword [esp + 0x14], 0x200
mov eax, dword [eax]
mov ecx, 0x4f6be4
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cd86
test dx, dx
je 0x47cd82
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cd86
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cd60
xor eax, eax
jmp 0x47cd8b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cdf0
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x64]
call fcn.0040b870
or dword [esp + 0x14], 0x400
mov eax, dword [eax]
mov ecx, 0x4f6be8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cdde
test dx, dx
je 0x47cdda
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cdde
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cdb8
xor eax, eax
jmp 0x47cde3
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cdf0
xor bl, bl
jmp 0x47cdf2
mov bl, 1
test dword [esp + 0x14], 0x400
je 0x47ce24
mov eax, dword [esp + 0x60]
and dword [esp + 0x14], 0xfffffbff
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47ce24
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test dword [esp + 0x14], 0x200
je 0x47ce5a
mov eax, dword [esp + 0x64]
and dword [esp + 0x14], 0xfffffdff
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47ce5a
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47ce6b
push 4
push 0x4f6bec
push ebp
call fcn.0040e720
lea ecx, [esp + 0x84]
push ecx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x70]
call fcn.0040b870
mov byte [esp + 0x78], 7
or dword [esp + 0x14], 0x800
mov eax, dword [eax]
mov ecx, 0x4f6bf8
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47ceba
test dx, dx
je 0x47ceb6
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47ceba
add eax, 4
add ecx, 4
test dx, dx
jne 0x47ce94
xor eax, eax
jmp 0x47cebf
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cf28
lea edx, [esp + 0x84]
push edx
mov eax, edi
mov ecx, esi
lea edx, [esp + 0x6c]
call fcn.0040b870
or dword [esp + 0x14], 0x1000
mov eax, dword [eax]
mov ecx, 0x4f6bfc
lea esp, [esp]
mov dx, word [eax]
cmp dx, word [ecx]
jne 0x47cf16
test dx, dx
je 0x47cf12
mov dx, word [eax + 2]
cmp dx, word [ecx + 2]
jne 0x47cf16
add eax, 4
add ecx, 4
test dx, dx
jne 0x47cef0
xor eax, eax
jmp 0x47cf1b
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
sete al
test al, al
jne 0x47cf28
xor bl, bl
jmp 0x47cf2a
mov bl, 1
test dword [esp + 0x14], 0x1000
je 0x47cf5c
mov eax, dword [esp + 0x68]
and dword [esp + 0x14], 0xffffefff
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cf5c
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [esp + 0x78], edi
test dword [esp + 0x14], 0x800
je 0x47cf92
mov eax, dword [esp + 0x6c]
and dword [esp + 0x14], 0xfffff7ff
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cf92
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test bl, bl
je 0x47cfa3
push 4
push 0x4f6c00
push ebp
call fcn.0040e720
mov eax, dword [esp + 0x84]
add esi, edi
cmp esi, dword [eax - 0xc]
jl 0x47c390
add eax, 0xfffffff0
mov byte [esp + 0x78], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x47cfd6
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, ebp
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret