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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x575320
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x5d480c]
xor eax, esp
push eax
lea eax, [esp + 0x70]
mov dword fs:[0], eax
mov esi, ecx
mov dword [esp + 0x14], esi
cmp dword [esi + 0x68], 0
jbe 0x4d07cf
mov eax, dword [esi + 0x6c]
cmp eax, 5
jb 0x4d07c8
jne 0x4d07cf
cmp dword [esi + 0x70], 0
jne 0x4d07cf
call fcn.004cfba0
jmp 0x4d07d4
call fcn.004cf7f0
cmp dword [esi + 0x1a4], 0
ja 0x4d07f4
xor eax, eax
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4
mov eax, dword [esi + 0x1a0]
mov eax, dword [eax]
mov ebx, dword [esi + 0x18c]
lea ecx, [esi + 0x18c]
mov dword [esp + 0x18], ecx
mov esi, eax
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], esi
mov eax, dword [esp + 0x18]
mov edi, dword [eax + 0x14]
mov eax, dword [eax]
test ebx, ebx
je 0x4d0827
cmp ebx, eax
je 0x4d082c
call fcn.004945e3
cmp esi, edi
je 0x4d135a
test ebx, ebx
jne 0x4d0a2f
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d084d
call fcn.004945e3
test ebx, ebx
jne 0x4d0a36
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0866
call fcn.004945e3
movzx eax, word [esi + 0xa]
movzx ecx, word [esi + 8]
mov edi, dword [esp + 0x14]
push eax
push ecx
lea edx, [edi + 0x1c0]
push edx
mov ecx, edi
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d0b35
test ebx, ebx
jne 0x4d0a3d
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d08a4
call fcn.004945e3
mov eax, dword [esi + 0x10]
push eax
mov ecx, edi
call fcn.004ccd60
test eax, eax
je 0x4d0abd
test ebx, ebx
jne 0x4d0a44
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d08d0
call fcn.004945e3
mov ecx, dword [esi + 0x10]
push 0
push ecx
lea edx, [esp + 0x3c]
push edx
call dword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
jne 0x4d0aa4
test ebx, ebx
jne 0x4d0a4b
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0902
call fcn.004945e3
mov eax, dword [esp + 0x34]
push 0x581258
lea ecx, [esp + 0x20]
mov dword [esi + 0x10], eax
call fcn.00409120
mov edx, dword [esp + 0x1c]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x200
or eax, ecx
mov dword [esp + 0x78], 0
jge 0x4d0949
push 0x200
lea ecx, [esp + 0x20]
call fcn.00403ae0
mov edx, dword [esp + 0x1c]
mov edi, edx
test ebx, ebx
jne 0x4d0a52
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0964
call fcn.004945e3
mov ecx, dword [esi + 0x10]
push 0
push 0x200
push edi
push ecx
call dword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDW]
mov edi, eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004943dc
add esp, 8
test eax, eax
jl 0x4d1350
mov ecx, dword [esp + 0x1c]
cmp eax, dword [ecx - 8]
jg 0x4d1350
mov dword [ecx - 0xc], eax
mov ecx, dword [esp + 0x1c]
xor edx, edx
mov word [ecx + eax*2], dx
test edi, edi
jne 0x4d0a5d
push 0x23
push 0x5c
lea ecx, [esp + 0x24]
call fcn.0043a930
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x3c]
push 0x59e8c0
push eax
call fcn.0041a250
add esp, 0xc
push eax
lea ecx, [esp + 0x20]
mov byte [esp + 0x7c], 1
call fcn.0041a0d0
mov eax, dword [esp + 0x38]
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 0x4d0a0b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
test ebx, ebx
jne 0x4d0a59
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0a20
call fcn.004945e3
lea edx, [esp + 0x1c]
lea ecx, [esi + 0x14]
push edx
call fcn.0041a0d0
jmp 0x4d0a7a
mov eax, dword [ebx]
jmp 0x4d0843
mov eax, dword [ebx]
jmp 0x4d085c
mov eax, dword [ebx]
jmp 0x4d089a
mov eax, dword [ebx]
jmp 0x4d08c6
mov eax, dword [ebx]
jmp 0x4d08f8
mov eax, dword [ebx]
jmp 0x4d095a
mov eax, dword [ebx]
jmp 0x4d0a16
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x188]
test eax, eax
je 0x4d0a7a
push edi
push str.ERROR:Search___CM_Get_Device_ID_failed_0x_x_
push eax
call fcn.004d2ee0
add esp, 0xc
mov eax, dword [esp + 0x1c]
add eax, 0xfffffff0
mov dword [esp + 0x78], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0abd
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4d0abd
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x4d0abd
push eax
push str.ERROR:Search___CM_Get_Child_failed_0x_x_
push ecx
call fcn.004d2ee0
add esp, 0xc
test ebx, ebx
jne 0x4d0b05
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0ad2
call fcn.004945e3
push 0x27
push str.53f56307_b6bf_11d0_94f2_00a0c91efb8b
lea ecx, [esi + 0x14]
call fcn.004076c0
test ebx, ebx
jne 0x4d0b09
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0af6
call fcn.004945e3
mov dword [esi + 0x20], 0
test ebx, ebx
je 0x4d0b1d
mov eax, dword [ebx]
jmp 0x4d0b24
mov eax, dword [ebx]
jmp 0x4d0ac8
mov eax, dword [ebx]
jmp 0x4d0aec
call fcn.004945e3
mov dword [esi + 0x20], 0
test ebx, ebx
jne 0x4d0b01
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0b2e
call fcn.004945e3
mov esi, dword [esi]
jmp 0x4d0812
test ebx, ebx
jne 0x4d0d22
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0b4e
call fcn.004945e3
test ebx, ebx
jne 0x4d0d29
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0b67
call fcn.004945e3
movzx ecx, word [esi + 0xa]
movzx edx, word [esi + 8]
push ecx
push edx
lea eax, [edi + 0x1f0]
push eax
mov ecx, edi
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d0df1
test ebx, ebx
jne 0x4d0d30
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0ba1
call fcn.004945e3
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, edi
call fcn.004ccd60
test eax, eax
je 0x4d0dac
test ebx, ebx
jne 0x4d0d37
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0bcd
call fcn.004945e3
mov edx, dword [esi + 0x10]
push 0
push edx
lea eax, [esp + 0x44]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
jne 0x4d0d93
test ebx, ebx
jne 0x4d0d3e
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0bff
call fcn.004945e3
mov ecx, dword [esp + 0x3c]
mov dword [esi + 0x10], ecx
push 0x581258
lea ecx, [esp + 0x24]
call fcn.00409120
mov edx, dword [esp + 0x20]
mov eax, dword [edx - 8]
mov ecx, 1
sub ecx, dword [edx - 4]
sub eax, 0x200
or eax, ecx
mov dword [esp + 0x78], 2
jge 0x4d0c46
push 0x200
lea ecx, [esp + 0x24]
call fcn.00403ae0
mov edx, dword [esp + 0x20]
mov edi, edx
test ebx, ebx
jne 0x4d0d45
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0c61
call fcn.004945e3
mov edx, dword [esi + 0x10]
push 0
push 0x200
push edi
push edx
call dword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDW]
mov edi, eax
mov eax, dword [esp + 0x20]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004943dc
add esp, 8
test eax, eax
jl 0x4d1350
mov ecx, dword [esp + 0x20]
cmp eax, dword [ecx - 8]
jg 0x4d1350
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov word [edx + eax*2], cx
test edi, edi
jne 0x4d0d4c
push 0x23
push 0x5c
lea ecx, [esp + 0x28]
call fcn.0043a930
lea eax, [esp + 0x20]
push eax
lea ecx, [esp + 0x44]
push 0x59e8c0
push ecx
call fcn.0041a250
add esp, 0xc
push eax
lea ecx, [esp + 0x24]
mov byte [esp + 0x7c], 3
call fcn.0041a0d0
mov eax, dword [esp + 0x40]
add eax, 0xfffffff0
mov byte [esp + 0x78], 2
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x4d0d08
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [esp + 0x54]
call fcn.00414310
lea ecx, [esp + 0x20]
add eax, 0xc
push ecx
mov ecx, eax
call fcn.0041a0d0
jmp 0x4d0d69
mov eax, dword [ebx]
jmp 0x4d0b44
mov eax, dword [ebx]
jmp 0x4d0b5d
mov eax, dword [ebx]
jmp 0x4d0b97
mov eax, dword [ebx]
jmp 0x4d0bc3
mov eax, dword [ebx]
jmp 0x4d0bf5
mov eax, dword [ebx]
jmp 0x4d0c57
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0x188]
test eax, eax
je 0x4d0d69
push edi
push str.ERROR:Search___CM_Get_Device_ID_failed_0x_x_
push eax
call fcn.004d2ee0
add esp, 0xc
mov eax, dword [esp + 0x20]
add eax, 0xfffffff0
mov dword [esp + 0x78], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d0dac
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4d0dac
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x4d0dac
push eax
push str.ERROR:Search___CM_Get_Child_failed_0x_x_
push ecx
call fcn.004d2ee0
add esp, 0xc
test ebx, ebx
jne 0x4d0ded
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0dc1
call fcn.004945e3
push 0x27
push str.6ac27878_a6fa_4155_ba85_f98f491d4f33
lea ecx, [esi + 0x14]
call fcn.004076c0
test ebx, ebx
jne 0x4d1293
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0b12
jmp 0x4d0b0d
mov eax, dword [ebx]
jmp 0x4d0db7
test ebx, ebx
jne 0x4d0fba
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0e0a
call fcn.004945e3
test ebx, ebx
jne 0x4d0fc1
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0e23
call fcn.004945e3
movzx ecx, word [esi + 0xa]
movzx edx, word [esi + 8]
push ecx
push edx
lea eax, [edi + 0x1d8]
push eax
mov ecx, edi
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d106d
test ebx, ebx
jne 0x4d0fc8
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0e5d
call fcn.004945e3
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, edi
call fcn.004ccd60
test eax, eax
je 0x4d1048
test ebx, ebx
jne 0x4d0fcf
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d0e89
call fcn.004945e3
mov edx, dword [esi + 0x10]
push 0
push edx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
jne 0x4d102f
lea ecx, [esp + 0x54]
call fcn.004c8130
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
push 0
lea ecx, [esp + 0x58]
call fcn.004c8130
mov edx, dword [eax + 8]
push edx
lea eax, [esp + 0x34]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_Sibling]
test eax, eax
jne 0x4d101d
lea ecx, [esp + 0x54]
call fcn.004c8130
mov ecx, dword [esp + 0x2c]
mov dword [eax + 8], ecx
push 0x581258
lea ecx, [esp + 0x28]
call fcn.00409120
push 0
push 0x200
push 0x200
lea ecx, [esp + 0x30]
mov dword [esp + 0x84], 4
call fcn.004040c0
push eax
lea ecx, [esp + 0x60]
call fcn.004c8130
mov edx, dword [eax + 8]
push edx
call dword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDW]
mov edi, eax
mov eax, dword [esp + 0x24]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004943dc
add esp, 8
test eax, eax
jl 0x4d1350
mov ecx, dword [esp + 0x24]
cmp eax, dword [ecx - 8]
jg 0x4d1350
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov word [edx + eax*2], cx
test edi, edi
jne 0x4d0fd6
push 0x23
push 0x5c
lea ecx, [esp + 0x2c]
call fcn.0043a930
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x48]
push 0x59e8c0
push ecx
call fcn.0041a250
add esp, 0xc
push eax
lea ecx, [esp + 0x28]
mov byte [esp + 0x7c], 5
call fcn.0041a0d0
lea ecx, [esp + 0x44]
mov byte [esp + 0x78], 4
call fcn.00403e00
lea ecx, [esp + 0x54]
call fcn.00414310
add eax, 0xc
lea edx, [esp + 0x24]
push edx
mov ecx, eax
call fcn.0041a0d0
jmp 0x4d0ff3
mov eax, dword [ebx]
jmp 0x4d0e00
mov eax, dword [ebx]
jmp 0x4d0e19
mov eax, dword [ebx]
jmp 0x4d0e53
mov eax, dword [ebx]
jmp 0x4d0e7f
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x188]
test eax, eax
je 0x4d0ff3
push edi
push str.ERROR:Search_ADB___CM_Get_Device_ID_failed_0x_x_
push eax
call fcn.004d2ee0
add esp, 0xc
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
mov dword [esp + 0x78], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d1048
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4d1048
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x4d1048
push eax
push str.ERROR:Search_ADB___CM_Get_Sibling_failed_0x_x_
jmp 0x4d103f
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x4d1048
push eax
push str.ERROR:Search_ADB___CM_Get_Child_failed_0x_x_
push ecx
call fcn.004d2ee0
add esp, 0xc
test ebx, ebx
jne 0x4d1069
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d105d
call fcn.004945e3
push 0x27
push str.f72fe0d4_cbcb_407d_8814_9ed673d0dd6b
jmp 0x4d0dc8
mov eax, dword [ebx]
jmp 0x4d1053
test ebx, ebx
jne 0x4d11f4
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d1086
call fcn.004945e3
test ebx, ebx
jne 0x4d11fb
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d109f
call fcn.004945e3
movzx ecx, word [esi + 0xa]
movzx edx, word [esi + 8]
push ecx
push edx
lea eax, [edi + 0x208]
push eax
mov ecx, edi
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d129e
test ebx, ebx
jne 0x4d1202
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d10d9
call fcn.004945e3
mov ecx, dword [esi + 0x10]
push ecx
mov ecx, edi
call fcn.004ccd60
test eax, eax
je 0x4d1269
push 0
lea ecx, [esp + 0x58]
call fcn.004c8130
mov edx, dword [eax + 8]
push edx
lea eax, [esp + 0x50]
push eax
call dword [sym.imp.SETUPAPI.dll_CM_Get_Child]
test eax, eax
jne 0x4d1250
lea ecx, [esp + 0x54]
call fcn.004c8130
mov ecx, dword [esp + 0x48]
mov dword [eax + 8], ecx
push 0x581258
lea ecx, [esp + 0x2c]
call fcn.00409120
push 0
push 0x200
push 0x200
lea ecx, [esp + 0x34]
mov dword [esp + 0x84], 6
call fcn.004040c0
push eax
lea ecx, [esp + 0x60]
call fcn.004c8130
mov edx, dword [eax + 8]
push edx
call dword [sym.imp.SETUPAPI.dll_CM_Get_Device_IDW]
mov edi, eax
mov eax, dword [esp + 0x28]
mov ecx, dword [eax - 8]
push ecx
push eax
call fcn.004943dc
add esp, 8
test eax, eax
jl 0x4d1350
mov ecx, dword [esp + 0x28]
cmp eax, dword [ecx - 8]
jg 0x4d1350
mov dword [ecx - 0xc], eax
mov edx, dword [esp + 0x28]
xor ecx, ecx
mov word [edx + eax*2], cx
test edi, edi
jne 0x4d1209
push 0x23
push 0x5c
lea ecx, [esp + 0x30]
call fcn.0043a930
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x50]
push 0x59e8c0
push ecx
call fcn.0041a250
add esp, 0xc
push eax
lea ecx, [esp + 0x2c]
mov byte [esp + 0x7c], 7
call fcn.0041a0d0
lea ecx, [esp + 0x4c]
mov byte [esp + 0x78], 6
call fcn.00403e00
lea ecx, [esp + 0x54]
call fcn.00414310
add eax, 0xc
lea edx, [esp + 0x28]
push edx
mov ecx, eax
call fcn.0041a0d0
jmp 0x4d1226
mov eax, dword [ebx]
jmp 0x4d107c
mov eax, dword [ebx]
jmp 0x4d1095
mov eax, dword [ebx]
jmp 0x4d10cf
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0x188]
test eax, eax
je 0x4d1226
push edi
push str.ERROR:Search___CM_Get_Device_ID_failed_0x_x_
push eax
call fcn.004d2ee0
add esp, 0xc
mov eax, dword [esp + 0x28]
add eax, 0xfffffff0
mov dword [esp + 0x78], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4d1269
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
jmp 0x4d1269
mov ecx, dword [edi + 0x188]
test ecx, ecx
je 0x4d1269
push eax
push str.ERROR:Search___CM_Get_Child_failed_0x_x_
push ecx
call fcn.004d2ee0
add esp, 0xc
test ebx, ebx
jne 0x4d129a
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d127e
call fcn.004945e3
push str.65E8773D_8F56_11D0_A3B9_00A0C9223196
lea ecx, [esi + 0x14]
call fcn.0041f1f0
test ebx, ebx
je 0x4d0dd8
mov eax, dword [ebx]
jmp 0x4d0ddf
mov eax, dword [ebx]
jmp 0x4d1274
test ebx, ebx
jne 0x4d132b
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d12b7
call fcn.004945e3
test ebx, ebx
jne 0x4d1332
call fcn.004945e3
xor eax, eax
cmp esi, dword [eax + 0x14]
jne 0x4d12cc
call fcn.004945e3
movzx ecx, word [esi + 0xa]
movzx edx, word [esi + 8]
push ecx
push edx
lea eax, [esp + 0x38]
push eax
mov ecx, edi
call fcn.004c80b0
test eax, eax
je 0x4d1336
push str.a5dcbf10_6530_11d2_901f_00c04fb951ed
lea ecx, [esp + 0x58]
call fcn.00414310
mov ecx, eax
add ecx, 0xc
call fcn.0041f1f0
lea ecx, [esp + 0x54]
call fcn.00414310
mov ecx, dword [esp + 0x30]
push 0
lea edx, [esp + 0x60]
mov dword [eax + 0x18], ecx
push edx
lea ecx, [esp + 0x5c]
call fcn.00417230
mov esi, dword [esp + 0x58]
mov ebx, dword [esp + 0x54]
jmp 0x4d0816
mov eax, dword [ebx]
jmp 0x4d12ad
mov eax, dword [ebx]
jmp 0x4d12c2
mov ecx, dword [esp + 0x18]
push esi
push ebx
lea eax, [esp + 0x6c]
push eax
call fcn.0041f230
mov ebx, dword [eax]
mov esi, dword [eax + 4]
jmp 0x4d080e
push 0x80070057
call fcn.004017e0
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x1a4], 0
jbe 0x4d07dd
test byte [ebp + 8], 1
jne 0x4d1443
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov edi, dword [edx]
mov esi, dword [eax]
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test esi, esi
je 0x4d1391
cmp esi, eax
je 0x4d1396
call fcn.004945e3
cmp edi, ebx
je 0x4d1443
test esi, esi
jne 0x4d1417
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d13b3
call fcn.004945e3
test esi, esi
jne 0x4d141b
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d13c8
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
call fcn.004c80b0
test eax, eax
je 0x4d1423
test esi, esi
jne 0x4d141f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d13f9
call fcn.004945e3
test byte [edi + 0xe], 1
jne 0x4d1423
mov ecx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d137e
mov eax, dword [esi]
jmp 0x4d13a9
mov eax, dword [esi]
jmp 0x4d13be
mov eax, dword [esi]
jmp 0x4d13ef
test esi, esi
jne 0x4d143f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1438
call fcn.004945e3
mov edi, dword [edi]
jmp 0x4d1380
mov eax, dword [esi]
jmp 0x4d142e
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x1a4], 0
jbe 0x4d07dd
test byte [ebp + 8], 2
jne 0x4d1533
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov edi, dword [edx]
mov esi, dword [eax]
lea esp, [esp]
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test esi, esi
je 0x4d1481
cmp esi, eax
je 0x4d1486
call fcn.004945e3
cmp edi, ebx
je 0x4d1533
test esi, esi
jne 0x4d1507
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d14a3
call fcn.004945e3
test esi, esi
jne 0x4d150b
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d14b8
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x38]
push edx
call fcn.004c80b0
test eax, eax
je 0x4d1513
test esi, esi
jne 0x4d150f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d14e9
call fcn.004945e3
test byte [edi + 0xe], 1
je 0x4d1513
mov ecx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d1467
mov eax, dword [esi]
jmp 0x4d1499
mov eax, dword [esi]
jmp 0x4d14ae
mov eax, dword [esi]
jmp 0x4d14df
test esi, esi
jne 0x4d152f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1528
call fcn.004945e3
mov edi, dword [edi]
jmp 0x4d1470
mov eax, dword [esi]
jmp 0x4d151e
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x1a4], 0
jbe 0x4d07dd
test byte [ebp + 8], 4
jne 0x4d1605
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov edi, dword [edx]
mov esi, dword [eax]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test esi, esi
je 0x4d1572
cmp esi, eax
je 0x4d1577
call fcn.004945e3
cmp edi, ebx
je 0x4d1605
test esi, esi
jne 0x4d15e0
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1594
call fcn.004945e3
test esi, esi
jne 0x4d15e4
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d15a9
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 0x1c0]
push edx
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d15e8
mov ecx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d1557
mov eax, dword [esi]
jmp 0x4d158a
mov eax, dword [esi]
jmp 0x4d159f
push 0
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00417230
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
jmp 0x4d1561
test byte [ebp + 8], 0x10
jne 0x4d16c6
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov edi, dword [edx]
mov esi, dword [eax]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
mov eax, dword [esp + 0x18]
mov ebx, dword [eax + 0x14]
mov eax, dword [eax]
test esi, esi
je 0x4d1633
cmp esi, eax
je 0x4d1638
call fcn.004945e3
cmp edi, ebx
je 0x4d16c6
test esi, esi
jne 0x4d16a1
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1655
call fcn.004945e3
test esi, esi
jne 0x4d16a5
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d166a
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
push eax
push ecx
mov ecx, dword [esp + 0x1c]
lea edx, [ecx + 0x1f0]
push edx
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d16a9
mov ecx, dword [esp + 0x18]
push edi
push esi
lea eax, [esp + 0x6c]
push eax
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d1618
mov eax, dword [esi]
jmp 0x4d164b
mov eax, dword [esi]
jmp 0x4d1660
push 0
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00417230
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
jmp 0x4d1622
test byte [ebp + 8], 8
jne 0x4d17a0
mov eax, dword [esp + 0x18]
mov edx, dword [eax + 0x14]
mov edi, dword [edx]
mov esi, dword [eax]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
jmp 0x4d16f0
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x1a0]
add eax, 0x18c
mov eax, dword [eax]
test esi, esi
je 0x4d1709
cmp esi, eax
je 0x4d170e
call fcn.004945e3
cmp edi, ebx
je 0x4d17a0
test esi, esi
jne 0x4d177b
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d172b
call fcn.004945e3
test esi, esi
jne 0x4d177f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1740
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
mov ebx, dword [esp + 0x14]
push eax
push ecx
lea edx, [ebx + 0x1d8]
push edx
mov ecx, ebx
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d1783
push edi
push esi
lea eax, [esp + 0x6c]
push eax
lea ecx, [ebx + 0x18c]
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d16d9
mov eax, dword [esi]
jmp 0x4d1721
mov eax, dword [esi]
jmp 0x4d1736
push 0
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00417230
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
jmp 0x4d16f0
test byte [ebp + 8], 0x20
jne 0x4d1880
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x1a0]
mov edi, dword [edx]
add eax, 0x18c
mov esi, dword [eax]
mov dword [esp + 0x58], edi
mov dword [esp + 0x54], esi
jmp 0x4d17d0
mov eax, dword [esp + 0x14]
mov ebx, dword [eax + 0x1a0]
add eax, 0x18c
mov eax, dword [eax]
test esi, esi
je 0x4d17e9
cmp esi, eax
je 0x4d17ee
call fcn.004945e3
cmp edi, ebx
je 0x4d1880
test esi, esi
jne 0x4d185b
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d180b
call fcn.004945e3
test esi, esi
jne 0x4d185f
call fcn.004945e3
xor eax, eax
cmp edi, dword [eax + 0x14]
jne 0x4d1820
call fcn.004945e3
movzx eax, word [edi + 0xa]
movzx ecx, word [edi + 8]
mov ebx, dword [esp + 0x14]
push eax
push ecx
lea edx, [ebx + 0x208]
push edx
mov ecx, ebx
call fcn.004c7550
cmp eax, 0xffffffff
je 0x4d1863
push edi
push esi
lea eax, [esp + 0x6c]
push eax
lea ecx, [ebx + 0x18c]
call fcn.0041f230
mov edi, dword [eax + 4]
jmp 0x4d17bb
mov eax, dword [esi]
jmp 0x4d1801
mov eax, dword [esi]
jmp 0x4d1816
push 0
lea ecx, [esp + 0x60]
push ecx
lea ecx, [esp + 0x5c]
call fcn.00417230
mov edi, dword [esp + 0x58]
mov esi, dword [esp + 0x54]
jmp 0x4d17d0
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x1a4], 0
jbe 0x4d07dd
mov edx, dword [eax + 0x1a0]
mov ecx, dword [edx]
mov edi, dword [esp + 0x14]
add eax, 0x18c
mov eax, dword [eax]
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], ecx
mov ebx, 1
jmp 0x4d18c0
mov ecx, dword [edi + 0x18c]
mov eax, dword [edi + 0x1a0]
lea edx, [esp + 0x4c]
mov dword [esp + 0x4c], ecx
push edx
lea ecx, [esp + 0x58]
mov dword [esp + 0x54], eax
call fcn.00411430
test al, al
je 0x4d1a8c
lea ecx, [esp + 0x54]
call fcn.00414310
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.00414310
movzx eax, word [eax + 2]
movzx ecx, word [esi]
push eax
push ecx
lea edx, [edi + 0x1c0]
push edx
mov ecx, edi
call fcn.004c7550
lea ecx, [esp + 0x54]
cmp eax, 0xffffffff
je 0x4d194d
call fcn.00414310
lea ecx, [esp + 0x54]
mov dword [eax + 0x14], 4
call fcn.00414310
xor ecx, ecx
push ecx
lea edx, [esp + 0x68]
mov word [eax + 4], cx
push edx
lea ecx, [esp + 0x5c]
call fcn.00417230
jmp 0x4d18c0
call fcn.00414310
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.00414310
movzx edx, word [eax + 2]
movzx eax, word [esi]
push edx
push eax
lea ecx, [edi + 0x1f0]
push ecx
mov ecx, edi
call fcn.004c7550
lea ecx, [esp + 0x54]
cmp eax, 0xffffffff
je 0x4d199e
call fcn.00414310
push 0
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x5c]
mov dword [eax + 0x14], 0x10
call fcn.00417230
jmp 0x4d18c0
call fcn.00414310
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.00414310
movzx edx, word [eax + 2]
movzx eax, word [esi]
push edx
push eax
lea ecx, [edi + 0x1d8]
push ecx
mov ecx, edi
call fcn.004c7550
lea ecx, [esp + 0x54]
cmp eax, 0xffffffff
je 0x4d19ef
call fcn.00414310
push 0
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x5c]
mov dword [eax + 0x14], 8
call fcn.00417230
jmp 0x4d18c0
call fcn.00414310
lea ecx, [esp + 0x54]
mov esi, eax
call fcn.00414310
movzx edx, word [eax + 2]
movzx eax, word [esi]
push edx
push eax
lea ecx, [edi + 0x208]
push ecx
mov ecx, edi
call fcn.004c7550
lea ecx, [esp + 0x54]
cmp eax, 0xffffffff
je 0x4d1a40
call fcn.00414310
push 0
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x5c]
mov dword [eax + 0x14], 0x20
call fcn.00417230
jmp 0x4d18c0
call fcn.00414310
lea ecx, [esp + 0x54]
test byte [eax + 6], bl
jne 0x4d1a6b
call fcn.00414310
push 0
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x5c]
mov dword [eax + 0x14], ebx
call fcn.00417230
jmp 0x4d18c0
call fcn.00414310
push 0
lea edx, [esp + 0x68]
push edx
lea ecx, [esp + 0x5c]
mov dword [eax + 0x14], 2
call fcn.00417230
jmp 0x4d18c0
mov eax, dword [edi + 0x1a4]
mov ecx, dword [esp + 0x70]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4