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

Disassembly:
sub esp, 0x1ec
push esi
mov esi, ecx
push edi
lea eax, [esi + 0x20]
xor edi, edi
push eax
mov dword [esp + 0x1c], esi
mov dword [esp + 0x10], edi
call dword [0x100b0088]
mov ecx, dword [esi + 0x1c]
mov edx, dword [esi + 0x18]
push ecx
push edx
lea ecx, [esp + 0x2c]
mov dword [esp + 0x2c], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
call fcn.004c1320
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x10]
mov edx, dword [eax + 0x14]
mov eax, dword [esp + 0x2c]
cmp eax, edi
mov dword [esp + 0x1c], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x20], edx
jne 0x4b1a8d
cmp ecx, edi
je 0x4b1a94
push ecx
push eax
call fcn.00437110
push ebx
push ebp
jmp 0x4b1aa0
mov ebp, dword [esp + 0x200]
or dword [esp + 0x14], 1
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0x4b1abb
test ebx, ebx
je 0x4b1ac8
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.004370f0
jmp 0x4b1ace
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0x4b1ae7
cmp dword [esp + 0x24], ebp
jne 0x4b1ae0
cmp dword [esp + 0x28], ebx
je 0x4b1ae7
mov byte [esp + 0x13], 1
jmp 0x4b1aec
mov byte [esp + 0x13], 0
test byte [esp + 0x14], 1
je 0x4b1b07
and dword [esp + 0x14], 0xfffffffe
test esi, esi
jne 0x4b1b00
test edi, edi
je 0x4b1b07
push edi
push esi
call fcn.00437110
cmp byte [esp + 0x13], 0
je 0x4b2dd5
xor eax, eax
cmp ebp, eax
jne 0x4b1b1c
cmp ebx, eax
je 0x4b1b33
push ebx
push ebp
mov dword [esp + 0x16c], ebp
mov dword [esp + 0x170], ebx
call fcn.004370f0
jmp 0x4b1b41
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b1b4f
test eax, eax
je 0x4b1b5c
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b1b62
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jne 0x4b1b71
cmp ebx, dword [eax + 0x14]
mov byte [esp + 0x13], 1
je 0x4b1b76
mov byte [esp + 0x13], 0
test esi, esi
jne 0x4b1b7e
test edi, edi
je 0x4b1b85
push edi
push esi
call fcn.00437110
cmp dword [esp + 0x164], 0
jne 0x4b1b99
cmp dword [esp + 0x168], 0
je 0x4b1bae
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x164]
push eax
push ecx
call fcn.00437110
xor eax, eax
cmp byte [esp + 0x13], al
je 0x4b24a0
cmp ebp, eax
jne 0x4b1bc2
cmp ebx, eax
je 0x4b1bd3
push ebx
push ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
call fcn.004370f0
jmp 0x4b1bdb
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b1be9
test eax, eax
je 0x4b1bf6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b1bfc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x18]
mov ebp, dword [eax + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
jne 0x4b1c12
test edi, edi
je 0x4b1c19
push edi
push esi
call fcn.00437110
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4b1c27
cmp dword [esp + 0x48], eax
je 0x4b1c32
mov edx, dword [esp + 0x48]
push edx
push eax
call fcn.00437110
test ebx, ebx
jne 0x4b1c3a
test ebp, ebp
je 0x4b1c47
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.004370f0
jmp 0x4b1c4d
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0x4b1c58
test edi, edi
je 0x4b1c5f
push edi
push esi
call fcn.00437110
test ebp, ebp
je 0x4b1df0
test ebx, ebx
jne 0x4b1c71
cmp dword [esp + 0x1c], ebx
je 0x4b1c80
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.004370f0
jmp 0x4b1c86
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b1c95
test edi, edi
je 0x4b1c9c
push edi
push esi
call fcn.00437110
mov ebp, dword [esp + 0x200]
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0x4b1cb2
test ebx, ebx
je 0x4b1cc9
push ebx
push ebp
mov dword [esp + 0xbc], ebp
mov dword [esp + 0xc0], ebx
call fcn.004370f0
jmp 0x4b1cd9
xor eax, eax
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b1ce7
test eax, eax
je 0x4b1cf4
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b1cfa
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b1d09
test edi, edi
je 0x4b1d10
push edi
push esi
call fcn.00437110
cmp dword [esp + 0xb4], 0
jne 0x4b1d24
cmp dword [esp + 0xb8], 0
je 0x4b1d39
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
push eax
push ecx
call fcn.00437110
test ebp, ebp
jne 0x4b1d41
test ebx, ebx
je 0x4b1d4e
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.004370f0
jmp 0x4b1d54
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x20]
push edx
push eax
call fcn.004b1680
test esi, esi
jne 0x4b1d6d
test edi, edi
je 0x4b1d74
push edi
push esi
call fcn.00437110
xor eax, eax
cmp ebp, eax
jne 0x4b1d7e
cmp ebx, eax
je 0x4b1d8e
push ebx
push ebp
mov dword [esp + 0x180], ebx
call fcn.004370f0
jmp 0x4b1d97
xor ebp, ebp
mov dword [esp + 0x178], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b1da5
test eax, eax
je 0x4b1db2
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b1db8
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ecx
jne 0x4b1dce
test edi, edi
je 0x4b1dd5
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b1de2
cmp dword [esp + 0x178], ebp
je 0x4b1df0
mov edx, dword [esp + 0x178]
push edx
push ebp
call fcn.00437110
mov eax, dword [esp + 0x14]
or eax, 6
mov dword [esp + 0x14], eax
xor eax, eax
cmp ebx, eax
jne 0x4b1e07
cmp dword [esp + 0x1c], eax
je 0x4b1e22
mov esi, dword [esp + 0x1c]
push esi
push ebx
mov dword [esp + 0x14c], ebx
mov dword [esp + 0x150], esi
call fcn.004370f0
jmp 0x4b1e34
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x144], eax
mov dword [esp + 0x148], eax
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
xor edi, edi
cmp ecx, edi
jne 0x4b1e44
cmp eax, edi
je 0x4b1e5b
push eax
push ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
call fcn.004370f0
jmp 0x4b1e6b
mov dword [esp + 0xc4], edi
mov dword [esp + 0xc8], edi
xor eax, eax
cmp dword [eax + 0x28], edi
jne 0x4b1efc
mov eax, dword [esp + 0x14]
or eax, 0x18
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0x4b1e87
cmp esi, edi
je 0x4b1ea0
push esi
mov ebp, ebx
push ebx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], esi
call fcn.004370f0
jmp 0x4b1eb2
xor ebp, ebp
mov dword [esp + 0x94], ebp
mov dword [esp + 0x98], edi
xor eax, eax
mov ecx, dword [eax + 0x10]
cmp ecx, edi
mov eax, dword [eax + 0x14]
jne 0x4b1ec0
cmp eax, edi
je 0x4b1edb
push eax
mov esi, ecx
mov edi, eax
push ecx
mov dword [esp + 0xdc], esi
mov dword [esp + 0xe0], edi
call fcn.004370f0
jmp 0x4b1eef
xor esi, esi
xor edi, edi
mov dword [esp + 0xd4], esi
mov dword [esp + 0xd8], edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0x4b1f11
mov byte [esp + 0x13], 1
jmp 0x4b1f16
mov edi, dword [esp + 0xd8]
mov esi, dword [esp + 0xd4]
mov ebp, dword [esp + 0x94]
mov byte [esp + 0x13], 0
test byte [esp + 0x14], 0x10
je 0x4b1f41
and dword [esp + 0x14], 0xffffffef
test esi, esi
jne 0x4b1f2a
test edi, edi
je 0x4b1f31
push edi
push esi
call fcn.00437110
xor eax, eax
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], eax
test byte [esp + 0x14], 8
je 0x4b1f78
and dword [esp + 0x14], 0xfffffff7
test ebp, ebp
jne 0x4b1f5a
cmp dword [esp + 0x98], ebp
je 0x4b1f68
mov eax, dword [esp + 0x98]
push eax
push ebp
call fcn.00437110
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
test byte [esp + 0x14], 4
je 0x4b1fad
and dword [esp + 0x14], 0xfffffffb
cmp dword [esp + 0xc4], 0
jne 0x4b1f98
cmp dword [esp + 0xc8], 0
je 0x4b1fad
mov ecx, dword [esp + 0xc8]
mov edx, dword [esp + 0xc4]
push ecx
push edx
call fcn.00437110
test byte [esp + 0x14], 2
je 0x4b1fe2
and dword [esp + 0x14], 0xfffffffd
cmp dword [esp + 0x144], 0
jne 0x4b1fcd
cmp dword [esp + 0x148], 0
je 0x4b1fe2
mov eax, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
push eax
push ecx
call fcn.00437110
cmp byte [esp + 0x13], 0
je 0x4b2073
test ebx, ebx
jne 0x4b1ff7
cmp dword [esp + 0x1c], ebx
je 0x4b2006
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.004370f0
jmp 0x4b200c
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b201b
test edi, edi
je 0x4b2022
push edi
push esi
call fcn.00437110
mov esi, dword [esp + 0x200]
test esi, esi
mov edi, dword [esp + 0x204]
jne 0x4b2038
test edi, edi
je 0x4b2041
push edi
push esi
call fcn.004370f0
jmp 0x4b2047
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
mov dword [esp + 0x200], edx
mov dword [esp + 0x204], eax
jne 0x4b2067
test edi, edi
je 0x4b1aa0
push edi
push esi
call fcn.00437110
jmp 0x4b1aa0
test ebx, ebx
jne 0x4b207d
cmp dword [esp + 0x1c], ebx
je 0x4b2093
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1d0], eax
call fcn.004370f0
jmp 0x4b209e
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1c8], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0x4b20ac
test eax, eax
je 0x4b20b9
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b20bf
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
sete byte [esp + 0x13]
test esi, esi
jne 0x4b20d0
test edi, edi
je 0x4b20d7
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b20e4
cmp dword [esp + 0x1c8], ebp
je 0x4b20f2
mov ecx, dword [esp + 0x1c8]
push ecx
push ebp
call fcn.00437110
cmp byte [esp + 0x13], 0
je 0x4b2266
test ebx, ebx
jne 0x4b2107
cmp dword [esp + 0x1c], ebx
je 0x4b211d
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1b0], eax
call fcn.004370f0
jmp 0x4b2128
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1a8], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov eax, dword [eax + 0x14]
jne 0x4b2136
test eax, eax
je 0x4b2143
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b2149
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b2158
test edi, edi
je 0x4b215f
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b216c
cmp dword [esp + 0x1a8], ebp
je 0x4b217a
mov edx, dword [esp + 0x1a8]
push edx
push ebp
call fcn.00437110
test ebx, ebx
jne 0x4b2184
cmp dword [esp + 0x1c], ebx
je 0x4b2195
mov ebp, dword [esp + 0x1c]
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.004370f0
jmp 0x4b219f
mov ebp, dword [esp + 0x1c]
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b21ae
test edi, edi
je 0x4b21b5
push edi
push esi
call fcn.00437110
mov ecx, dword [esp + 0x20]
push ebp
push ebx
call fcn.004b1210
mov ebx, dword [esp + 0x200]
test ebx, ebx
mov ebp, dword [esp + 0x204]
jne 0x4b21d6
test ebp, ebp
je 0x4b21ed
push ebp
push ebx
mov dword [esp + 0xec], ebx
mov dword [esp + 0xf0], ebp
call fcn.004370f0
jmp 0x4b21fd
xor eax, eax
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b220b
test eax, eax
je 0x4b2218
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b221e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
jne 0x4b2234
test edi, edi
je 0x4b223b
push edi
push esi
call fcn.00437110
cmp dword [esp + 0xe4], 0
jne 0x4b224f
cmp dword [esp + 0xe8], 0
je 0x4b2274
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xe4]
push eax
push ecx
call fcn.00437110
jmp 0x4b2274
mov ebp, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
xor esi, esi
cmp ebx, esi
jne 0x4b227e
cmp ebp, esi
je 0x4b2295
push ebp
push ebx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xb0], ebp
call fcn.004370f0
jmp 0x4b22a5
mov dword [esp + 0xa4], esi
mov dword [esp + 0xa8], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0x4b22b3
cmp eax, esi
je 0x4b22c7
push eax
push ecx
mov ebx, ecx
mov dword [esp + 0x1f0], eax
call fcn.004370f0
mov ebp, eax
jmp 0x4b22d2
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1e8], ebp
cmp dword [esp + 0x18], 0
jne 0x4b22e0
cmp dword [esp + 0x1c], 0
je 0x4b22f1
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edi
push esi
call fcn.004370f0
jmp 0x4b22f7
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [ebp + 0x28]
mov dword [eax + 0x28], edx
jne 0x4b2305
test edi, edi
je 0x4b230c
push edi
push esi
call fcn.00437110
test ebx, ebx
jne 0x4b2319
cmp dword [esp + 0x1e8], ebx
je 0x4b2327
mov eax, dword [esp + 0x1e8]
push eax
push ebx
call fcn.00437110
cmp dword [esp + 0xa4], 0
jne 0x4b233b
cmp dword [esp + 0xa8], 0
je 0x4b2350
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
push ecx
push edx
call fcn.00437110
cmp dword [esp + 0x200], 0
jne 0x4b2364
cmp dword [esp + 0x204], 0
je 0x4b237f
mov ecx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.004370f0
jmp 0x4b2385
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b2393
test eax, eax
je 0x4b23a0
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b23a6
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b23b5
test edi, edi
je 0x4b23bc
push edi
push esi
call fcn.00437110
test ebx, ebx
jne 0x4b23c4
test ebp, ebp
je 0x4b23cb
push ebp
push ebx
call fcn.00437110
mov ecx, dword [esp + 0x18]
test ecx, ecx
mov eax, dword [esp + 0x1c]
jne 0x4b23db
test eax, eax
je 0x4b23e8
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.004370f0
jmp 0x4b23ee
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0x4b23fc
test eax, eax
je 0x4b2409
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b240f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b241e
test edi, edi
je 0x4b2425
push edi
push esi
call fcn.00437110
test ebx, ebx
jne 0x4b242d
test ebp, ebp
je 0x4b2434
push ebp
push ebx
call fcn.00437110
cmp dword [esp + 0x200], 0
jne 0x4b2448
cmp dword [esp + 0x204], 0
je 0x4b245f
mov edi, dword [esp + 0x204]
mov esi, dword [esp + 0x200]
push edi
push esi
call fcn.004370f0
jmp 0x4b2465
xor esi, esi
xor edi, edi
xor eax, eax
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.004b1680
test esi, esi
jne 0x4b247e
test edi, edi
je 0x4b2485
push edi
push esi
call fcn.00437110
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
jmp 0x4b1aa0
cmp ebp, eax
jne 0x4b24a8
cmp ebx, eax
je 0x4b24bf
push ebx
push ebp
mov dword [esp + 0x13c], ebp
mov dword [esp + 0x140], ebx
call fcn.004370f0
jmp 0x4b24cd
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b24db
test eax, eax
je 0x4b24e8
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b24ee
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x10]
mov ebp, dword [eax + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], ebp
jne 0x4b2504
test edi, edi
je 0x4b250b
push edi
push esi
call fcn.00437110
cmp dword [esp + 0x134], 0
jne 0x4b251f
cmp dword [esp + 0x138], 0
je 0x4b2534
mov edx, dword [esp + 0x138]
mov eax, dword [esp + 0x134]
push edx
push eax
call fcn.00437110
test ebx, ebx
jne 0x4b253c
test ebp, ebp
je 0x4b2549
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.004370f0
jmp 0x4b254f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0x4b255a
test edi, edi
je 0x4b2561
push edi
push esi
call fcn.00437110
test ebp, ebp
je 0x4b26f2
test ebx, ebx
jne 0x4b2573
cmp dword [esp + 0x1c], ebx
je 0x4b2582
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.004370f0
jmp 0x4b2588
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b2597
test edi, edi
je 0x4b259e
push edi
push esi
call fcn.00437110
mov ebp, dword [esp + 0x200]
test ebp, ebp
mov ebx, dword [esp + 0x204]
jne 0x4b25b4
test ebx, ebx
je 0x4b25cb
push ebx
push ebp
mov dword [esp + 0x11c], ebp
mov dword [esp + 0x120], ebx
call fcn.004370f0
jmp 0x4b25db
xor eax, eax
mov dword [esp + 0x114], eax
mov dword [esp + 0x118], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b25e9
test eax, eax
je 0x4b25f6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b25fc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b260b
test edi, edi
je 0x4b2612
push edi
push esi
call fcn.00437110
cmp dword [esp + 0x114], 0
jne 0x4b2626
cmp dword [esp + 0x118], 0
je 0x4b263b
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
push ecx
push edx
call fcn.00437110
test ebp, ebp
jne 0x4b2643
test ebx, ebx
je 0x4b2650
push ebx
push ebp
mov esi, ebp
mov edi, ebx
call fcn.004370f0
jmp 0x4b2656
xor esi, esi
xor edi, edi
xor eax, eax
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.004b1210
test esi, esi
jne 0x4b266f
test edi, edi
je 0x4b2676
push edi
push esi
call fcn.00437110
xor eax, eax
cmp ebp, eax
jne 0x4b2680
cmp ebx, eax
je 0x4b2690
push ebx
push ebp
mov dword [esp + 0x190], ebx
call fcn.004370f0
jmp 0x4b2699
xor ebp, ebp
mov dword [esp + 0x188], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b26a7
test eax, eax
je 0x4b26b4
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b26ba
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ebx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], ebx
mov dword [esp + 0x1c], eax
jne 0x4b26d0
test edi, edi
je 0x4b26d7
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b26e4
cmp dword [esp + 0x188], ebp
je 0x4b26f2
mov ecx, dword [esp + 0x188]
push ecx
push ebp
call fcn.00437110
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
or eax, 0x60
xor edi, edi
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0x4b270b
cmp esi, edi
je 0x4b2722
push esi
push ebx
mov dword [esp + 0x10c], ebx
mov dword [esp + 0x110], esi
call fcn.004370f0
jmp 0x4b2732
mov dword [esp + 0x104], edi
mov dword [esp + 0x108], edi
xor eax, eax
mov ecx, dword [eax + 0x18]
cmp ecx, edi
mov eax, dword [eax + 0x1c]
jne 0x4b2740
cmp eax, edi
je 0x4b2757
push eax
push ecx
mov dword [esp + 0xfc], ecx
mov dword [esp + 0x100], eax
call fcn.004370f0
jmp 0x4b2767
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], edi
xor eax, eax
cmp dword [eax + 0x28], edi
jne 0x4b27fa
mov eax, dword [esp + 0x14]
or eax, 0x180
cmp ebx, edi
mov dword [esp + 0x14], eax
jne 0x4b2785
cmp esi, edi
je 0x4b279e
push esi
mov ebp, ebx
push ebx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x90], esi
call fcn.004370f0
jmp 0x4b27b0
xor ebp, ebp
mov dword [esp + 0x84], ebp
mov dword [esp + 0x88], edi
xor eax, eax
mov ecx, dword [eax + 0x10]
cmp ecx, edi
mov eax, dword [eax + 0x14]
jne 0x4b27be
cmp eax, edi
je 0x4b27d9
push eax
mov esi, ecx
mov edi, eax
push ecx
mov dword [esp + 0x15c], esi
mov dword [esp + 0x160], edi
call fcn.004370f0
jmp 0x4b27ed
xor esi, esi
xor edi, edi
mov dword [esp + 0x154], esi
mov dword [esp + 0x158], edi
xor eax, eax
cmp dword [eax + 0x28], 0
jne 0x4b280f
mov byte [esp + 0x13], 1
jmp 0x4b2814
mov edi, dword [esp + 0x158]
mov esi, dword [esp + 0x154]
mov ebp, dword [esp + 0x84]
mov byte [esp + 0x13], 0
test dword [esp + 0x14], 0x100
je 0x4b2845
and dword [esp + 0x14], 0xfffffeff
test esi, esi
jne 0x4b282e
test edi, edi
je 0x4b2835
push edi
push esi
call fcn.00437110
xor eax, eax
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], eax
test byte [esp + 0x14], 0x80
je 0x4b287f
and dword [esp + 0x14], 0xffffff7f
test ebp, ebp
jne 0x4b2861
cmp dword [esp + 0x88], ebp
je 0x4b286f
mov edx, dword [esp + 0x88]
push edx
push ebp
call fcn.00437110
xor eax, eax
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
test byte [esp + 0x14], 0x40
je 0x4b28b4
and dword [esp + 0x14], 0xffffffbf
cmp dword [esp + 0xf4], 0
jne 0x4b289f
cmp dword [esp + 0xf8], 0
je 0x4b28b4
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf4]
push eax
push ecx
call fcn.00437110
test byte [esp + 0x14], 0x20
je 0x4b28e9
and dword [esp + 0x14], 0xffffffdf
cmp dword [esp + 0x104], 0
jne 0x4b28d4
cmp dword [esp + 0x108], 0
je 0x4b28e9
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x104]
push edx
push eax
call fcn.00437110
cmp byte [esp + 0x13], 0
je 0x4b297a
test ebx, ebx
jne 0x4b28fe
cmp dword [esp + 0x1c], ebx
je 0x4b290d
mov edi, dword [esp + 0x1c]
push edi
push ebx
mov esi, ebx
call fcn.004370f0
jmp 0x4b2913
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b2922
test edi, edi
je 0x4b2929
push edi
push esi
call fcn.00437110
mov esi, dword [esp + 0x200]
test esi, esi
mov edi, dword [esp + 0x204]
jne 0x4b293f
test edi, edi
je 0x4b2948
push edi
push esi
call fcn.004370f0
jmp 0x4b294e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x200], ecx
mov dword [esp + 0x204], edx
jne 0x4b296e
test edi, edi
je 0x4b1aa0
push edi
push esi
call fcn.00437110
jmp 0x4b1aa0
test ebx, ebx
jne 0x4b2984
cmp dword [esp + 0x1c], ebx
je 0x4b299a
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1a0], eax
call fcn.004370f0
jmp 0x4b29a5
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x198], eax
mov ecx, dword [eax + 0x10]
test ecx, ecx
mov eax, dword [eax + 0x14]
jne 0x4b29b3
test eax, eax
je 0x4b29c0
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b29c6
xor esi, esi
xor edi, edi
xor eax, eax
cmp dword [eax + 0x28], 0
sete byte [esp + 0x13]
test esi, esi
jne 0x4b29d7
test edi, edi
je 0x4b29de
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b29eb
cmp dword [esp + 0x198], ebp
je 0x4b29f9
mov eax, dword [esp + 0x198]
push eax
push ebp
call fcn.00437110
cmp byte [esp + 0x13], 0
je 0x4b2b6d
test ebx, ebx
jne 0x4b2a0e
cmp dword [esp + 0x1c], ebx
je 0x4b2a24
mov eax, dword [esp + 0x1c]
push eax
push ebx
mov ebp, ebx
mov dword [esp + 0x1c0], eax
call fcn.004370f0
jmp 0x4b2a2f
xor eax, eax
xor ebp, ebp
mov dword [esp + 0x1b8], eax
mov ecx, dword [eax + 0x18]
test ecx, ecx
mov eax, dword [eax + 0x1c]
jne 0x4b2a3d
test eax, eax
je 0x4b2a4a
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b2a50
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x4b2a5f
test edi, edi
je 0x4b2a66
push edi
push esi
call fcn.00437110
test ebp, ebp
jne 0x4b2a73
cmp dword [esp + 0x1b8], ebp
je 0x4b2a81
mov ecx, dword [esp + 0x1b8]
push ecx
push ebp
call fcn.00437110
test ebx, ebx
jne 0x4b2a8b
cmp dword [esp + 0x1c], ebx
je 0x4b2a9c
mov ebp, dword [esp + 0x1c]
push ebp
push ebx
mov esi, ebx
mov edi, ebp
call fcn.004370f0
jmp 0x4b2aa6
mov ebp, dword [esp + 0x1c]
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x4b2ab5
test edi, edi
je 0x4b2abc
push edi
push esi
call fcn.00437110
mov ecx, dword [esp + 0x20]
push ebp
push ebx
call fcn.004b1680
mov ebx, dword [esp + 0x200]
test ebx, ebx
mov ebp, dword [esp + 0x204]
jne 0x4b2add
test ebp, ebp
je 0x4b2af4
push ebp
push ebx
mov dword [esp + 0x12c], ebx
mov dword [esp + 0x130], ebp
call fcn.004370f0
jmp 0x4b2b04
xor eax, eax
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x4b2b12
test eax, eax
je 0x4b2b1f
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b2b25
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov edx, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
mov dword [esp + 0x18], edx
mov dword [esp + 0x1c], eax
jne 0x4b2b3b
test edi, edi
je 0x4b2b42
push edi
push esi
call fcn.00437110
cmp dword [esp + 0x124], 0
jne 0x4b2b56
cmp dword [esp + 0x128], 0
je 0x4b2b7b
mov ecx, dword [esp + 0x128]
mov edx, dword [esp + 0x124]
push ecx
push edx
call fcn.00437110
jmp 0x4b2b7b
mov ebp, dword [esp + 0x204]
mov ebx, dword [esp + 0x200]
xor esi, esi
cmp ebx, esi
jne 0x4b2b85
cmp ebp, esi
je 0x4b2b96
push ebp
push ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x40], ebp
call fcn.004370f0
jmp 0x4b2ba0
mov dword [esp + 0x34], esi
mov dword [esp + 0x38], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0x4b2bae
cmp eax, esi
je 0x4b2bc2
push eax
push ecx
mov ebx, ecx
mov dword [esp + 0x1e0], eax
call fcn.004370f0
mov ebp, eax
jmp 0x4b2bcd
xor ebp, ebp
xor ebx, ebx
mov dword [esp + 0x1d8], ebp
cmp dword [esp + 0x18], 0
jne 0x4b2bdb
cmp dword [esp + 0x1c], 0
je 0x4b2bec
mov edi, dword [esp + 0x1c]
mov esi, dword [esp + 0x18]
push edi
push esi
call fcn.004370f0
jmp 0x4b2bf2
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [ebp + 0x28]
mov dword [eax + 0x28], ecx
jne 0x4b2c00
test edi, edi
je 0x4b2c07
push edi
push esi
call fcn.00437110
test ebx, ebx
jne 0x4b2c14
cmp dword [esp + 0x1d8], ebx
je 0x4b2c22
mov edx, dword [esp + 0x1d8]
push edx
push ebx
call fcn.00437110
cmp dword [esp + 0x34], 0
jne 0x4b2c30
cmp dword [esp + 0x38], 0
je 0x4b2c3f
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
push eax
push ecx
call fcn.00437110
xor eax, eax
cmp dword [esp + 0x200], eax
jne 0x4b2c53
cmp dword [esp + 0x204], eax
je 0x4b2c71
mov eax, dword [esp + 0x204]
mov ebp, dword [esp + 0x200]
push eax
push ebp
mov dword [esp + 0x200], eax
call fcn.004370f0
jmp 0x4b2c7a
xor ebp, ebp
mov dword [esp + 0x1f8], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor ebx, ebx
cmp ecx, ebx
jne 0x4b2c8a
cmp eax, ebx
je 0x4b2c97
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.004370f0
jmp 0x4b2c9d
xor esi, esi
xor edi, edi
xor eax, eax
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0x4b2ca8
cmp edi, ebx
je 0x4b2caf
push edi
push esi
call fcn.00437110
cmp ebp, ebx
jne 0x4b2cbc
cmp dword [esp + 0x1f8], ebx
je 0x4b2cca
mov edx, dword [esp + 0x1f8]
push edx
push ebp
call fcn.00437110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push eax
push ecx
lea ecx, [esp + 0x74]
mov dword [esp + 0x74], ebx
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
call fcn.004c1320
mov eax, dword [esp + 0x6c]
mov edx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
push edx
push eax
lea ecx, [esp + 0x54]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x60], ebx
call fcn.004c1320
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x54]
cmp eax, ebx
mov dword [ecx + 0x28], ebx
mov ecx, dword [esp + 0x58]
jne 0x4b2d24
cmp ecx, ebx
je 0x4b2d2b
push ecx
push eax
call fcn.00437110
mov eax, dword [esp + 0x74]
cmp eax, ebx
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x4c], ebx
jne 0x4b2d47
cmp ecx, ebx
je 0x4b2d4e
push ecx
push eax
call fcn.00437110
mov edx, dword [esp + 0x204]
mov eax, dword [esp + 0x200]
push edx
push eax
lea ecx, [esp + 0x64]
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x80], ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x64], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
call fcn.004c1320
mov eax, dword [esp + 0x5c]
mov ecx, dword [eax + 0x24]
mov edx, dword [eax + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.004b1210
mov eax, dword [esp + 0x64]
cmp eax, ebx
mov ecx, dword [esp + 0x68]
jne 0x4b2da7
cmp ecx, ebx
je 0x4b2dae
push ecx
push eax
call fcn.00437110
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], ecx
jmp 0x4b1aa0
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x44]
mov dword [esp + 0x44], esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x50], esi
call fcn.004c1320
mov eax, dword [esp + 0x44]
cmp eax, esi
mov edx, dword [esp + 0x3c]
mov ecx, dword [esp + 0x48]
pop ebp
mov dword [edx + 0x28], esi
pop ebx
jne 0x4b2e07
cmp ecx, esi
je 0x4b2e0e
push ecx
push eax
call fcn.00437110
pop edi
pop esi
add esp, 0x1ec
ret 8