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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x288
mov ecx, dword [esp + 0x2a8]
xor ebx, ebx
mov al, byte [ecx + 3]
add al, 0xfe
cmp al, 0x33
ja case.0x100ad281.252
mov dl, byte [ecx]
movzx eax, al
lea esi, [esp + 0x29c]
mov ecx, edx
and cl, 0xf
jmp dword [eax*4 + 0x101df3d0]
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 8]
push ebx
push eax
push ecx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 0x180]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
lea ecx, [esp + 8]
mov esi, eax
mov edi, dword [ecx]
jmp 0x100ae593
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
xor edi, edi
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x14]
push edi
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
mov esi, dword [esi]
call fcn.1003b794
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ebp, [esp + 0x118]
mov edi, eax
mov ecx, ebp
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebx, dword [ebp + 4]
mov ecx, ebp
jmp 0x100adbb1
test dl, 8
jne 0x100ad42c
jmp 0x100ad4ad
test dl, 8
jne 0x100ad75c
jmp 0x100ad7de
test dl, 8
je 0x100ad4ad
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov ebx, 3
lea ebp, [esp + 0x114]
push ebx
push eax
push ebp
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebp]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x110]
push ebx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x280]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a799e
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov eax, dword [esi + 0xc]
cmp byte [eax + 3], 0x18
je 0x100ad4ad
lea edi, [esp + 4]
mov byte [esp], dl
mov ecx, edi
push 0x7f
call fcn.1003c824
call fcn.1003c81e
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x10c]
push 3
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x278]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a799e
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je case.0x100ad281.223
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov ebx, 2
lea ebp, [esp + 0x108]
push ebx
push eax
push ebp
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebp]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x104]
push ebx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x270]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a799e
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je case.0x100ad281.254
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea ebx, [esp + 0x100]
inc ecx
push ecx
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
xor ecx, ecx
lea ebp, [esp + 0xfc]
inc ecx
push ecx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea ebx, [esp + 0x268]
inc eax
mov ecx, ebx
push eax
push dword [ebp]
call fcn.100a799e
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xf8]
push ebx
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [esi]
call fcn.1003c7dc
call fcn.1003c81e
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x260]
mov dword [esp], eax
mov ecx, ebp
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a773c
mov edi, dword [ebp + 4]
mov ecx, ebp
call fcn.100b1880
mov esi, eax
call fcn.1003c81e
jmp 0x100ae235
test dl, 8
je 0x100ad7de
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov ebx, 3
lea ebp, [esp + 0xf4]
push ebx
push eax
push ebp
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebp]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xf0]
push ebx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x258]
mov ecx, ebx
push dword [ebp]
call fcn.100a78ac
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov eax, dword [esi + 0xc]
cmp byte [eax + 3], 0x19
je 0x100ad7de
lea edi, [esp + 4]
mov byte [esp], dl
mov ecx, edi
push 0xff
call fcn.1003c824
call fcn.1003c81e
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xec]
push 3
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x250]
mov ecx, ebx
push dword [ebp]
call fcn.100a78ac
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je case.0x100ad281.222
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov ebx, 2
lea ebp, [esp + 0xe8]
push ebx
push eax
push ebp
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebp]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xe4]
push ebx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x248]
mov ecx, ebx
push dword [ebp]
call fcn.100a78ac
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je case.0x100ad281.253
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ebx, ebx
lea ebp, [esp + 0xe0]
inc ebx
push ebx
push eax
push ebp
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebp]
call fcn.1003c7dc
call fcn.1003c81e
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xdc]
push ebx
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x240]
mov ecx, ebx
push dword [ebp]
call fcn.100a78ac
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1880
mov ebx, eax
call fcn.1003c81e
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xd8]
push ebx
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [esi]
call fcn.1003c7dc
call fcn.1003c81e
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
mov dword [esp], eax
lea ebp, [esp + 0x238]
lea eax, [esp + 0x2a0]
mov ecx, ebp
push eax
call fcn.100a763a
mov edi, dword [ebp + 4]
mov ecx, ebp
call fcn.100b1880
mov esi, eax
call fcn.1003c81e
jmp 0x100ae235
test dl, 1
je 0x100ada33
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x68]
push esi
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 0x190]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov ebx, dword [ebx]
mov edi, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 2
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 4
xor ebp, ebp
lea ebx, [esp + 0x70]
mov dword [esp + 4], eax
inc ebp
mov dword [esp], ebx
mov dword [esp + 8], ebp
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
lea edi, [esp + 0x60]
push 4
push eax
push edi
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x188]
mov ecx, esi
push ebp
push dword [edi]
call fcn.100a7a46
mov edi, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [ebx]
mov esi, eax
call fcn.1003b794
push edi
xor ecx, ecx
push ecx
jmp 0x100ae9ee
test dl, 1
je 0x100adb38
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x20]
push esi
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ebx, [esp + 0x128]
mov edi, eax
mov ecx, ebx
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 2
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
xor ebx, ebx
lea esi, [esp + 0x1c]
inc ebx
push ebx
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
mov esi, dword [esi]
call fcn.1003b794
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x18]
push 4
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x120]
mov ecx, esi
push ebx
push dword [ebp]
call fcn.100a7a46
mov ebx, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov esi, eax
call fcn.1003b794
push ebx
mov bl, 1
xor ecx, ecx
push ecx
jmp 0x100ae7bc
test dl, 8
jne 0x100adca2
jmp 0x100add26
test dl, 8
jne 0x100adfcd
jmp 0x100ae051
test dl, 8
je 0x100add26
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0xd4]
push 3
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xd0]
push 6
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x230]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov eax, dword [esi + 0xc]
cmp byte [eax + 3], 0x30
je 0x100add26
lea edi, [esp + 4]
mov byte [esp], dl
mov ecx, edi
push 0x7fff
call fcn.1003c8cc
call fcn.1003c8c6
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xcc]
push 6
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x228]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je case.0x100ad281.218
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0xc8]
push 2
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xc4]
push 4
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x220]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je case.0x100ad281.250
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea ebx, [esp + 0xc0]
inc ecx
push ecx
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xbc]
push 2
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea ebx, [esp + 0x218]
inc eax
mov ecx, ebx
push eax
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0xb8]
push ebx
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [esi]
call fcn.1003c884
call fcn.1003c8c6
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x210]
mov dword [esp], eax
mov ecx, ebp
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7798
mov edi, dword [ebp + 4]
mov ecx, ebp
call fcn.100b18fa
mov esi, eax
call fcn.1003c8c6
jmp 0x100ae235
test dl, 8
je 0x100ae051
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0xb4]
push 3
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xb0]
push 6
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x208]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov eax, dword [esi + 0xc]
cmp byte [eax + 3], 0x31
je 0x100ae051
lea edi, [esp + 4]
mov byte [esp], dl
mov ecx, edi
push 0xffff
call fcn.1003c8cc
call fcn.1003c8c6
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xac]
push 6
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x200]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je case.0x100ad281.217
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0xa8]
push 2
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0xa4]
push 4
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x1f8]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je case.0x100ad281.249
mov edi, dword [esi]
mov byte [esp], dl
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea ebx, [esp + 0xa0]
inc ecx
push ecx
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [ebx]
call fcn.1003c884
call fcn.1003c8c6
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x9c]
push 2
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea ebx, [esp + 0x1f0]
inc eax
mov ecx, ebx
push eax
push dword [ebp]
call fcn.100a79f2
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b18fa
mov ebx, eax
call fcn.1003c8c6
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 1
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebx, ebx
push ebx
push ebx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x98]
push ebx
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 4]
mov ecx, edi
push dword [esi]
call fcn.1003c884
call fcn.1003c8c6
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebp, [esp + 0x1e8]
mov dword [esp], eax
mov ecx, ebp
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7798
mov edi, dword [ebp + 4]
mov ecx, ebp
call fcn.100b18fa
mov esi, eax
call fcn.1003c8c6
push edi
push ebx
mov bl, 1
push eax
push esi
push dword [esp + 0x10]
jmp 0x100ae9f3
cmp cl, 0xf
mov byte [esp], dl
jne 0x100ae396
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x1b8]
mov edi, eax
mov ecx, ebx
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7942
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1a32
mov ebx, eax
call fcn.10040264
push ebp
push esi
push eax
push ebx
push edi
jmp 0x100ae51b
cmp cl, 0xf
mov byte [esp], dl
jne 0x100ae59d
mov eax, esi
lea esi, [esp + 0x3c]
push dword [eax]
push esi
call fcn.100b1b8c
add esp, 8
lea edi, [esp + 0x150]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7942
mov ebx, dword [edi + 4]
mov ecx, edi
call fcn.100b1a32
mov esi, dword [esi]
mov edi, eax
call fcn.10040264
push ebx
push 0
push eax
push edi
push esi
jmp 0x100ae73e
cmp cl, 0xf
jne 0x100ae7c4
mov esi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
mov edi, eax
lea ebx, [esp + 0x1e0]
mov ecx, ebx
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7942
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1a32
mov esi, eax
call fcn.10040264
push ebp
xor ecx, ecx
push ecx
jmp 0x100ae384
cmp cl, 0xf
jne 0x100aea0a
lea ebx, [esp + 0x5c]
push dword [esi]
push ebx
call fcn.100b1b8c
add esp, 8
lea edi, [esp + 0x178]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a7942
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1a32
mov edi, dword [ebx]
mov esi, eax
call fcn.10040264
push ebp
push 0
push eax
push esi
push edi
call fcn.1003bfc4
add esp, 0x14
mov bl, 1
jmp case.0x100ad281.252
test dl, 1
je 0x100ae403
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x7c]
push esi
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 0x1b0]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov ebx, dword [ebx]
mov edi, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je 0x100ae497
mov edi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 4
xor ebx, ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x18]
inc ebx
mov dword [esp], eax
mov dword [esp + 8], ebx
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
mov ebp, esi
lea esi, [esp + 0x78]
push 4
push eax
push esi
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x1a8]
mov ecx, edi
push ebx
push dword [esi]
call fcn.100a7a46
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov edi, eax
lea eax, [esp + 0xc]
mov ebx, dword [eax]
call fcn.1003b794
push esi
mov esi, ebp
xor ecx, ecx
push ecx
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je 0x100ae527
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 4
lea ebx, [esp + 0x80]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], ebx
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
lea ebp, [esp + 0x70]
push 8
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x1a0]
mov ecx, edi
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov ebx, dword [ebx]
mov edi, eax
call fcn.1003b794
push ebp
push esi
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 8
je case.0x100ad281.252
lea edi, [esp + 4]
mov ecx, edi
push accept
call fcn.1003ce3a
call fcn.1003b794
xor ebx, ebx
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x6c]
push 0xc
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x198]
mov ecx, esi
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov esi, eax
call fcn.1003b794
jmp 0x100ae7b8
test dl, 1
je 0x100ae61b
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x38]
push esi
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ebx, [esp + 0x148]
mov edi, eax
mov ecx, ebx
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je 0x100ae6b7
mov edi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea edi, [esp + 0x34]
inc ecx
push ecx
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
mov ebp, esi
lea esi, [esp + 0x30]
push 4
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea ebx, [esp + 0x140]
inc eax
mov ecx, ebx
push eax
push dword [esi]
call fcn.100a7a46
mov esi, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push esi
mov esi, ebp
xor ecx, ecx
push ecx
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je 0x100ae74a
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x2c]
push 2
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x28]
push 8
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x138]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push ebp
push esi
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 8
je case.0x100ad281.252
lea edi, [esp + 4]
mov ecx, edi
push 0xffffffffffffffff
call fcn.1003ce3a
call fcn.1003b794
xor ebx, ebx
push ebx
push ebx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x24]
push 3
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x130]
mov ecx, esi
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov esi, eax
call fcn.1003b794
push ebp
push ebx
mov bl, 1
push eax
push esi
push edi
jmp 0x100ae9f3
test dl, 1
mov byte [esp], dl
je 0x100ae837
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea ebx, [esp + 0x94]
push esi
push eax
push ebx
call fcn.1003f6a7
add esp, 0xc
lea edi, [esp + 0x1d8]
mov ecx, edi
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov ebx, dword [ebx]
mov edi, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je 0x100ae8ce
mov edi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 4
xor ebx, ebx
mov dword [esp + 4], eax
lea eax, [esp + 0x1c]
inc ebx
mov dword [esp], eax
mov dword [esp + 8], ebx
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
mov ebp, esi
lea esi, [esp + 0x90]
push 4
push eax
push esi
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x1d0]
mov ecx, edi
push ebx
push dword [esi]
call fcn.100a7a46
mov esi, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov edi, eax
lea eax, [esp + 0x10]
mov ebx, dword [eax]
call fcn.1003b794
push esi
mov esi, ebp
xor ecx, ecx
push ecx
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je 0x100ae968
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 4
lea ebx, [esp + 0x98]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov dword [esp], ebx
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
lea ebp, [esp + 0x88]
push 8
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea edi, [esp + 0x1c8]
mov ecx, edi
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [edi + 4]
mov ecx, edi
call fcn.100b1948
mov ebx, dword [ebx]
mov edi, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push edi
push ebx
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 8
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor edi, edi
push edi
push edi
push eax
push dword [esi]
call fcn.1003be3a
add esp, 4
lea ebx, [esp + 0x90]
mov dword [esp + 4], eax
mov dword [esp + 8], 3
mov dword [esp], ebx
call fcn.1003f6a7
add esp, 0xc
lea ecx, [esp + 0x2a0]
call fcn.100b1880
lea ebp, [esp + 0x80]
push 0xc
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x1c0]
mov ecx, esi
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov ebx, dword [ebx]
mov esi, eax
call fcn.1003b794
push ebp
push edi
push eax
push esi
push ebx
mov bl, 1
call fcn.1003bfc4
add esp, 0x14
mov eax, ebx
add esp, 0x288
pop esi
pop edi
pop ebx
pop ebp
ret 0x10
test dl, 1
mov byte [esp], dl
je 0x100aea8b
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x58]
push esi
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ebx, [esp + 0x170]
mov edi, eax
mov ecx, ebx
push 1
lea eax, [esp + 0x2a4]
push eax
call fcn.100a77f4
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 2
je 0x100aeb27
mov edi, dword [esi]
call fcn.10040264
xor ecx, ecx
push ecx
push ecx
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
xor ecx, ecx
lea edi, [esp + 0x54]
inc ecx
push ecx
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
mov ebp, esi
lea esi, [esp + 0x50]
push 4
push eax
push esi
call fcn.10042ef9
add esp, 0xc
xor eax, eax
lea ebx, [esp + 0x168]
inc eax
mov ecx, ebx
push eax
push dword [esi]
call fcn.100a7a46
mov esi, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push esi
mov esi, ebp
xor ecx, ecx
push ecx
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
test dl, 4
je 0x100aebc1
mov edi, dword [esi]
call fcn.10040264
xor esi, esi
push esi
push esi
push eax
push dword [edi]
call fcn.1003be3a
add esp, 0x10
lea edi, [esp + 0x4c]
push 2
push eax
push edi
call fcn.1003f6a7
add esp, 0xc
mov edi, dword [edi]
call fcn.1003b794
push eax
push edi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebp, [esp + 0x48]
push 8
push eax
push ebp
call fcn.10042ef9
add esp, 0xc
lea ebx, [esp + 0x160]
mov ecx, ebx
push 1
push dword [ebp]
call fcn.100a7a46
mov ebp, dword [ebx + 4]
mov ecx, ebx
call fcn.100b1948
mov ebx, eax
call fcn.1003b794
push ebp
push esi
lea esi, [esp + 0x2a4]
push eax
push ebx
push edi
call fcn.1003bfc4
mov dl, byte [esp + 0x14]
add esp, 0x14
mov bl, 1
test dl, 8
je case.0x100ad281.252
mov esi, dword [esi]
call fcn.10040264
xor ebp, ebp
push ebp
push ebp
push eax
push dword [esi]
call fcn.1003be3a
add esp, 0x10
lea esi, [esp + 0x44]
push 3
push eax
push esi
call fcn.1003f6a7
add esp, 0xc
mov esi, dword [esi]
call fcn.1003b794
push eax
push esi
call fcn.1003c15c
add esp, 8
lea ecx, [esp + 0x2a0]
mov edi, eax
call fcn.100b1880
lea ebx, [esp + 0x40]
push 0xc
push eax
push ebx
call fcn.10042ef9
add esp, 0xc
lea esi, [esp + 0x158]
mov ecx, esi
push 1
push dword [ebx]
call fcn.100a7a46
mov ebx, dword [esi + 4]
mov ecx, esi
call fcn.100b1948
mov esi, eax
call fcn.1003b794
push ebx
mov bl, 1
push ebp
jmp 0x100ae7bc