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

Disassembly:
sub esp, 0x6c
mov eax, dword [esp + 0x70]
push ebx
mov ebx, dword [esp + 0x78]
push ebp
mov ecx, dword [eax]
mov eax, dword [eax + 0xb8]
push esi
push edi
mov esi, dword [eax + 0x28]
mov dword [esp + 0x24], ecx
mov ecx, dword [ecx + 0x1c]
xor edi, edi
cmp esi, ebx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], eax
jae 0x49dd05
lea ebp, [esi + 8]
mov edx, dword [esi]
mov eax, dword [esp + 0x14]
push 0
push edx
push eax
call dword [eax + 0x50]
add esp, 0xc
test eax, eax
je 0x49dcdc
test edi, edi
jne 0x49dcdc
mov edi, eax
cmp dword [ebp], 0
je 0x49dcf3
mov eax, dword [esp + 0x80]
push ebp
push eax
call fcn.00486e90
add esp, 8
add esi, 0x1c
add ebp, 0x1c
cmp esi, ebx
jb 0x49dcc2
test edi, edi
jne 0x49de7a
mov ecx, dword [esp + 0x18]
push 1
push 0
mov edx, dword [ecx + 0x2c]
mov ecx, dword [esp + 0x88]
mov eax, dword [edx]
push eax
push 6
push ecx
call fcn.004a2d00
mov edi, eax
add esp, 0x14
test edi, edi
jne 0x49de7a
mov eax, dword [esi]
mov ecx, dword [esp + 0x80]
xor edx, edx
mov dx, word [esi + 4]
push edx
push eax
push ecx
call fcn.0049d900
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49de7a
mov eax, dword [esi]
xor edx, edx
mov dx, word [esi + 4]
push 0xffffffffffffffff
mov ecx, dword [eax + 8]
push edx
mov edx, dword [esp + 0x88]
push ecx
push edx
call fcn.00498560
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x49de7a
mov eax, dword [esi]
push edi
mov ecx, dword [eax + 8]
mov dword [esp + 0x20], ecx
mov eax, dword [esi]
push eax
mov bx, word [eax + 0x14]
mov eax, dword [esp + 0x1c]
push eax
call dword [eax + 0x50]
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49de77
mov ecx, dword [esi + 8]
lea eax, [esi + 8]
test ecx, ecx
je 0x49ddbd
mov edx, dword [esp + 0x80]
push eax
push edx
call fcn.00486e90
add esp, 8
mov eax, dword [esp + 0x18]
add esi, 0x1c
cmp esi, dword [eax + 0x2c]
ja 0x49de36
lea ebp, [esi + 8]
mov eax, dword [esi]
cmp word [eax + 0x14], 0
je 0x49ddf7
mov edx, dword [esp + 0x80]
xor ecx, ecx
mov cx, word [ebp - 4]
push ecx
push eax
push edx
call fcn.0049d900
mov edi, eax
add esp, 0xc
test edi, edi
jne 0x49de7a
mov eax, dword [esi]
mov ecx, dword [esp + 0x80]
push eax
push ecx
call fcn.00486a50
mov edi, eax
add esp, 8
test edi, edi
jne 0x49de71
cmp dword [ebp], 0
je 0x49de27
mov edx, dword [esp + 0x80]
push ebp
push edx
call fcn.00486e90
add esp, 8
mov eax, dword [esp + 0x18]
add esi, 0x1c
add ebp, 0x1c
cmp esi, dword [eax + 0x2c]
jbe 0x49ddcc
mov ecx, dword [esp + 0x18]
xor edi, edi
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x2c], eax
mov dword [eax], edi
mov eax, dword [ecx + 0x2c]
mov dword [eax + 8], edi
mov ebp, dword [ecx + 8]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x28], ebp
cmp eax, ebp
jne 0x49e2fa
cmp bx, 1
jne 0x49e2fa
mov ebx, dword [esp + 0x24]
mov dword [esp + 0x20], edi
jmp 0x49dee8
mov dword [esi], 0
add esi, 0x1c
mov ecx, dword [esp + 0x18]
cmp esi, dword [ecx + 0x2c]
ja 0x49dec6
lea ebp, [esi + 8]
mov eax, dword [esi]
test eax, eax
je 0x49de9e
push 0
push eax
mov eax, dword [esp + 0x1c]
push eax
call dword [eax + 0x50]
mov ecx, dword [esp + 0x24]
add esp, 0xc
cmp dword [ebp], 0
je 0x49deb9
mov ecx, dword [esp + 0x80]
push ebp
push ecx
call fcn.00486e90
mov ecx, dword [esp + 0x20]
add esp, 8
mov eax, dword [ecx + 0x2c]
add esi, 0x1c
add ebp, 0x1c
cmp esi, eax
jbe 0x49de86
mov eax, dword [ecx + 0x28]
mov dword [ecx + 0x2c], eax
mov dword [eax], 0
mov edx, dword [ecx + 0x2c]
mov eax, edi
pop edi
pop esi
pop ebp
mov dword [edx + 8], 0
pop ebx
add esp, 0x6c
ret
xor edi, edi
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x2c]
push ecx
push edi
push 2
push ebp
push edi
push edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x9c], edi
mov dword [esp + 0x44], edi
mov dword [esp + 0x54], edi
mov dword [esp + 0x34], ebp
call fcn.00486c40
mov esi, eax
add esp, 0x18
cmp esi, edi
jne 0x49e25c
lea eax, [esp + 0x84]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push edi
push ecx
push eax
call dword [eax + 0x40]
mov esi, eax
add esp, 0x10
cmp esi, edi
jne 0x49e25c
mov eax, dword [esp + 0x84]
cmp word [eax + 0x14], 1
jne 0x49e263
xor ecx, ecx
mov cl, byte [eax + 0x19]
sub ecx, 3
je 0x49dfa3
dec ecx
jne 0x49e263
mov ecx, dword [ebx + 0x1d4]
test ch, 8
je 0x49df89
mov ecx, 0x26
xor edx, edx
mov dx, word [ecx + eax + 0x1a]
mov eax, dword [edx + eax]
mov dword [esp + 0x1c], eax
jmp 0x49dff8
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
xor edx, edx
mov dx, word [ecx + eax + 0x1a]
mov eax, dword [edx + eax]
mov dword [esp + 0x1c], eax
jmp 0x49dff8
mov ecx, dword [ebx + 0x1d4]
test ch, 8
je 0x49dfb5
mov ecx, 0x26
jmp 0x49dfbf
and cl, 1
neg cl
sbb ecx, ecx
and ecx, 6
xor edi, edi
mov di, word [ecx + eax + 0x1a]
add edi, eax
mov al, byte [edi + 2]
and al, 0x7f
cmp al, 3
jne 0x49dfef
mov ecx, dword [edi + 0x10]
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.00478320
mov esi, eax
add esp, 8
test esi, esi
jne 0x49e25c
mov eax, dword [edi + 4]
xor edi, edi
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x80]
lea ecx, [esp + 0x3c]
push ecx
push edi
push 2
push eax
push edi
push edx
call fcn.00486c40
mov esi, eax
add esp, 0x18
cmp esi, edi
jne 0x49e25c
lea eax, [esp + 0x10]
lea ecx, [esp + 0x1c]
push eax
mov eax, dword [esp + 0x18]
push 0
push ecx
push eax
call dword [eax + 0x40]
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x49e25c
mov ecx, dword [esp + 0x80]
mov edx, dword [ecx]
mov eax, dword [edx + 0x14]
mov edx, dword [eax + 0x14c]
test edx, edx
je 0x49e14c
test byte [ecx + 0xf8], 0x10
jne 0x49e14c
test dword [eax + 0x23c], 0x10000
jne 0x49e14c
mov edx, dword [esp + 0x10]
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x64]
rep stosd dword es:[edi], eax
mov dword [esp + 0x64], edx
mov eax, dword [ebx]
mov dword [esp + 0x68], eax
mov ecx, 6
xor eax, eax
lea edi, [esp + 0x4c]
rep stosd dword es:[edi], eax
mov eax, dword [ebx + 0x1d4]
test ah, 8
je 0x49e0ae
mov ecx, 0x26
jmp 0x49e0b9
and al, 1
neg al
sbb eax, eax
and eax, 6
mov ecx, eax
mov eax, dword [esp + 0x84]
xor esi, esi
mov si, word [ecx + eax + 0x1a]
mov ecx, esi
add ecx, eax
mov dword [esp + 0x4c], ecx
cmp byte [eax + 0x19], 4
jne 0x49e0df
mov dword [esp + 0x50], 8
jmp 0x49e0ee
xor esi, esi
mov si, word [ecx]
add esi, 0xf
and esi, 0xfffffffc
mov dword [esp + 0x50], esi
mov cl, byte [eax + 0x19]
cmp cl, 3
je 0x49e112
cmp cl, 4
je 0x49e112
cmp cl, 5
jne 0x49e10a
xor ecx, ecx
mov cx, word [eax + 0x14]
shr ecx, 1
jmp 0x49e115
xor ecx, ecx
mov cx, word [eax + 0x14]
jmp 0x49e115
mov ecx, dword [eax + 0xc]
lea esi, [esp + 0x4c]
push eax
push esi
push ecx
mov ecx, dword [eax + 8]
lea eax, [esp + 0x70]
push ecx
mov ecx, dword [edx + 8]
push eax
push ecx
push 0
push edx
mov edx, dword [esp + 0xa0]
mov eax, dword [edx + 4]
push eax
push ebx
call fcn.00467900
mov esi, eax
add esp, 0x28
test esi, esi
jne 0x49e25c
jmp 0x49e161
mov ecx, dword [esp + 0x10]
mov dword [ecx], 0
mov edx, dword [esp + 0x10]
mov dword [edx + 4], 1
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 0x10]
xor eax, eax
test byte [edx + 0xcc], 2
je 0x49e1a5
cmp byte [esi + 0x18], 1
jbe 0x49e1a5
mov al, byte [edi + 0x19]
cmp al, 3
je 0x49e1a2
cmp al, 4
je 0x49e1a2
cmp al, 5
jne 0x49e19a
xor eax, eax
mov ax, word [edi + 0x14]
shr eax, 1
jmp 0x49e1a5
xor eax, eax
mov ax, word [edi + 0x14]
jmp 0x49e1a5
mov eax, dword [edi + 0xc]
mov ecx, dword [ebx]
mov ebp, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, ebp
mov ebp, dword [esp + 0x28]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 8], ebp
mov cl, byte [edx + 0xcc]
test cl, 2
je 0x49e1e2
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x18], 1
jbe 0x49e1e2
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0xc], eax
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
push 2
push edx
push edi
call dword [edi + 0x58]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x49e25c
mov eax, dword [esp + 0x10]
push 2
push eax
push edi
call dword [edi + 0x58]
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x49e25c
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x80]
push ebp
mov edx, dword [ecx + 8]
push edx
push eax
call fcn.00498a90
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x49e25c
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x80]
push ecx
push edx
call fcn.00486a50
mov esi, eax
mov eax, dword [esp + 0x8c]
add esp, 8
mov dword [esp + 0x10], 0
test esi, esi
jne 0x49e267
jmp 0x49e26f
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0x14]
mov dword [esp + 0x20], 1
mov ecx, dword [esp + 0x2c]
test ecx, ecx
je 0x49e293
mov ecx, dword [esp + 0x80]
lea eax, [esp + 0x2c]
push eax
push ecx
call fcn.00486e90
mov eax, dword [esp + 0x8c]
add esp, 8
test eax, eax
je 0x49e2ab
push 0
push eax
push edi
call dword [edi + 0x50]
add esp, 0xc
test eax, eax
je 0x49e2ab
test esi, esi
jne 0x49e2ab
mov esi, eax
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x49e2c8
mov eax, dword [esp + 0x80]
lea edx, [esp + 0x3c]
push edx
push eax
call fcn.00486e90
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x49e2e4
push 0
push eax
push edi
call dword [edi + 0x50]
add esp, 0xc
test eax, eax
je 0x49e2e4
test esi, esi
jne 0x49e2e4
mov esi, eax
mov eax, dword [esp + 0x20]
test eax, eax
je 0x49dee6
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x6c
ret
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x6c
ret