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

Disassembly:
push 0xffffffffffffffff
push 0x1005c782
mov eax, dword fs:[0]
push eax
sub esp, 0x44
push ebx
push ebp
push esi
push edi
mov eax, dword [0x10078c14]
xor eax, esp
push eax
lea eax, [esp + 0x58]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x7c]
mov edi, ecx
mov esi, edx
push str.registration:req_0122
lea ecx, [esp + 0x48]
call fcn.10002310
mov dword [esp + 0x60], 0
mov ecx, dword [esp + 0x68]
push ebp
push 6
push eax
call fcn.1000d530
mov ebx, eax
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x44]
call fcn.10002690
test ebx, ebx
je 0x10022f44
mov eax, ebx
jmp 0x10023b6f
lea ecx, [esp + 0x1c]
call fcn.100026f0
mov dword [esp + 0x60], 1
lea ecx, [esp + 0x1c]
call fcn.10002880
mov dword [esp + 0x18], 0
mov byte [esp + 0x60], 2
push str.registration:user
lea ecx, [esp + 0x30]
call fcn.10002310
mov byte [esp + 0x60], 3
lea eax, [esp + 0x1c]
push eax
push ebp
lea edx, [esp + 0x20]
lea ecx, [esp + 0x34]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 2
lea ecx, [esp + 0x2c]
call fcn.10002690
test bl, bl
je 0x10022fdb
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10022fc0
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.10002690
mov eax, 0x8800800f
jmp 0x10023b6f
mov dword [esp + 0x24], 0
mov byte [esp + 0x60], 4
push 0x1006402c
lea ecx, [esp + 0x24]
call fcn.10002310
mov byte [esp + 0x60], 5
mov eax, dword [esp + 0x6c]
push eax
lea ecx, [esp + 0x24]
push 0x10064800
push ecx
call fcn.100022f0
add esp, 0xc
push str.registration:registration_type
lea ecx, [esp + 0x70]
call fcn.10002310
mov byte [esp + 0x60], 6
lea edx, [esp + 0x20]
push edx
push ebp
lea edx, [esp + 0x2c]
lea ecx, [esp + 0x74]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x6c]
call fcn.10002690
test bl, bl
je 0x1002307e
mov byte [esp + 0x60], 4
lea ecx, [esp + 0x20]
call fcn.10002690
mov byte [esp + 0x60], 2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10022fab
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x10022fab
push 0x100663a4
lea ecx, [esp + 0x80]
call fcn.10002310
mov byte [esp + 0x60], 7
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x70]
call fcn.10019720
mov byte [esp + 0x60], 8
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x1c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100230d9
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
je 0x100230f0
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
jmp 0x10023052
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
je 0x1002336d
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x1002336d
mov dword [esp + 0x6c], 0
mov byte [esp + 0x60], 9
push str.nbe:authority
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0xa
lea edx, [esp + 0x1c]
push edx
push ebp
lea edx, [esp + 0x74]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 9
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
je 0x10023181
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100230dd
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
jmp 0x10023052
mov dword [esp + 0x28], 0
mov byte [esp + 0x60], 0xb
push str.nbe:email
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0xc
push esi
push ebp
lea edx, [esp + 0x30]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0xb
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
je 0x100231e8
mov byte [esp + 0x60], 9
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10023155
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x10023155
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0xd
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x70]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0xb
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1002322d
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x100231ca
mov dword [esp + 0x2c], 0
mov byte [esp + 0x60], 0xe
push str.nbe:password
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0xf
push edi
push ebp
lea edx, [esp + 0x34]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0xe
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
je 0x10023298
mov byte [esp + 0x60], 0xb
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100231ca
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x100231ca
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x10
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x70]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0xe
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100232dd
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x1002327a
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x11
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x1c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0xe
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10023326
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x1002327a
mov byte [esp + 0x60], 0xb
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10023343
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 9
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10023358
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1002336d
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov esi, dword [esp + 0x70]
mov eax, dword [esi]
cmp dword [eax - 0xc], 0
mov edi, dword [esp + 0x74]
jne 0x10023389
mov ecx, dword [edi]
cmp dword [ecx - 0xc], 0
je 0x100237c3
push 0x1006402c
lea ecx, [esp + 0x78]
call fcn.10002310
mov byte [esp + 0x60], 0x12
mov eax, dword [esp + 0x68]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x70]
push edx
push ecx
call fcn.1000d310
mov byte [esp + 0x60], 0x13
mov edx, dword [esp + 0x70]
push edx
call fcn.10040fad
add esp, 4
cmp eax, 1
jne 0x100233cc
push str.registration:ecig_profile
jmp 0x100233d6
cmp eax, 2
jne 0x100233df
push str.registration:ucig_profile
lea ecx, [esp + 0x78]
call fcn.10002760
mov eax, dword [esp + 0x74]
cmp dword [eax - 0xc], 0
je 0x100237a7
mov dword [esp + 0x6c], 0
mov byte [esp + 0x60], 0x14
push str.registration:profile
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0x15
lea ecx, [esp + 0x1c]
push ecx
push ebp
lea edx, [esp + 0x74]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0x14
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
je 0x1002347e
mov byte [esp + 0x60], 0x13
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1002344f
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov byte [esp + 0x60], 0x12
lea ecx, [esp + 0x70]
call fcn.10002690
mov byte [esp + 0x60], 7
lea ecx, [esp + 0x74]
call fcn.10002690
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
jmp 0x10023052
xor ebx, ebx
mov dword [esp + 0x68], ebx
mov byte [esp + 0x60], 0x16
lea eax, [esp + 0x1c]
push eax
push ebp
lea edx, [esp + 0x70]
lea ecx, [esp + 0x7c]
call fcn.10031a20
add esp, 8
test eax, eax
je 0x1002352e
mov byte [esp + 0x60], 0x14
mov eax, dword [esp + 0x68]
cmp eax, ebx
je 0x100234bc
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x13
mov eax, dword [esp + 0x6c]
cmp eax, ebx
je 0x100234d1
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x12
lea ecx, [esp + 0x70]
call fcn.10002690
mov byte [esp + 0x60], 7
lea ecx, [esp + 0x74]
call fcn.10002690
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
mov byte [esp + 0x60], 4
lea ecx, [esp + 0x20]
call fcn.10002690
mov byte [esp + 0x60], 2
mov eax, dword [esp + 0x24]
cmp eax, ebx
je 0x1002351e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x18]
cmp eax, ebx
jmp 0x10022fb6
mov eax, dword [esi]
cmp dword [eax - 0xc], ebx
je 0x10023628
mov dword [esp + 0x2c], ebx
mov byte [esp + 0x60], 0x17
push str.nbe:country
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0x18
push esi
push ebp
lea edx, [esp + 0x34]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0x17
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
je 0x100235c6
mov byte [esp + 0x60], 0x16
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10023593
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x14
mov eax, dword [esp + 0x68]
test eax, eax
je 0x100235a8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x13
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x1002344f
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
jmp 0x1002344f
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x19
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x6c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0x17
mov eax, dword [esp + 0x30]
test eax, eax
je 0x1002360b
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x1002357e
mov byte [esp + 0x60], 0x16
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x10023628
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [edi]
cmp dword [eax - 0xc], 0
je 0x100236e3
mov dword [esp + 0x2c], 0
mov byte [esp + 0x60], 0x1a
push str.nbe:language
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0x1b
push edi
push ebp
lea edx, [esp + 0x34]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0x1a
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
jne 0x1002357e
lea eax, [esp + 0x2c]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x1c
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x6c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0x1a
mov eax, dword [esp + 0x30]
test eax, eax
je 0x100236c6
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x1002357e
mov byte [esp + 0x60], 0x16
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x100236e3
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x1d
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x70]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0x16
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10023728
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x10023593
lea eax, [esp + 0x6c]
push eax
lea ecx, [esp + 0x34]
call fcn.10019720
mov byte [esp + 0x60], 0x1e
lea ecx, [esp + 0x30]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x1c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0x16
mov eax, dword [esp + 0x30]
test eax, eax
je 0x10023775
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x10023593
mov byte [esp + 0x60], 0x14
mov eax, dword [esp + 0x68]
test eax, eax
je 0x10023792
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x13
mov eax, dword [esp + 0x6c]
test eax, eax
je 0x100237a7
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x12
lea ecx, [esp + 0x70]
call fcn.10002690
mov byte [esp + 0x60], 7
lea ecx, [esp + 0x74]
call fcn.10002690
mov eax, dword [esp + 0x78]
call fcn.1000c4e0
test eax, eax
mov dword [esp + 0x48], eax
mov dword [esp + 0x28], 0
jle 0x10023ab6
or esi, 0xffffffff
mov dword [esp + 0x74], 0
mov byte [esp + 0x60], 0x1f
push str.registration:product
lea ecx, [esp + 0x34]
call fcn.10002310
mov byte [esp + 0x60], 0x20
lea eax, [esp + 0x1c]
push eax
push ebp
lea edx, [esp + 0x7c]
lea ecx, [esp + 0x38]
call fcn.10031a20
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 0x1f
lea ecx, [esp + 0x30]
call fcn.10002690
test bl, bl
jne 0x10023b85
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x78]
call fcn.10023c40
lea ecx, [esp + 0x50]
push ecx
mov ecx, eax
call fcn.1000ca40
mov byte [esp + 0x60], 0x21
mov edx, dword [esp + 0x50]
xor edi, edi
cmp dword [edx - 0xc], edi
je 0x10023940
lea eax, [esp + 0x50]
push eax
lea ecx, [esp + 0x70]
call fcn.1000d140
mov byte [esp + 0x60], 0x22
lea ecx, [esp + 0x6c]
push ecx
call fcn.100309d0
add esp, 4
mov dword [esp + 0x68], edi
mov byte [esp + 0x60], 0x23
push str.registration:device_id
lea ecx, [esp + 0x38]
call fcn.10002310
mov byte [esp + 0x60], 0x24
lea edx, [esp + 0x6c]
push edx
push ebp
lea edx, [esp + 0x70]
lea ecx, [esp + 0x3c]
call fcn.10031a20
add esp, 8
cmp eax, edi
setne bl
mov byte [esp + 0x60], 0x23
lea ecx, [esp + 0x34]
call fcn.10002690
test bl, bl
jne 0x10023b93
lea eax, [esp + 0x68]
push eax
lea ecx, [esp + 0x3c]
call fcn.10019720
mov byte [esp + 0x60], 0x25
lea ecx, [esp + 0x38]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x78]
call fcn.10031c60
mov esi, eax
add esp, 4
cmp esi, edi
setne bl
mov byte [esp + 0x60], 0x23
mov eax, dword [esp + 0x38]
cmp eax, edi
je 0x10023915
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x10023b93
mov byte [esp + 0x60], 0x22
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x10023932
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x21
lea ecx, [esp + 0x6c]
call fcn.10002690
mov eax, dword [esp + 0x54]
cmp dword [eax - 0xc], edi
je 0x10023a2c
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x30]
call fcn.1000d140
mov byte [esp + 0x60], 0x26
lea edx, [esp + 0x2c]
push edx
call fcn.100309d0
add esp, 4
mov dword [esp + 0x70], edi
mov byte [esp + 0x60], 0x27
push str.registration:serial_number
lea ecx, [esp + 0x40]
call fcn.10002310
mov byte [esp + 0x60], 0x28
lea eax, [esp + 0x2c]
push eax
push ebp
lea edx, [esp + 0x78]
lea ecx, [esp + 0x44]
call fcn.10031a20
add esp, 8
cmp eax, edi
setne bl
mov byte [esp + 0x60], 0x27
lea ecx, [esp + 0x3c]
call fcn.10002690
test bl, bl
jne 0x10023c1b
lea ecx, [esp + 0x70]
push ecx
lea ecx, [esp + 0x44]
call fcn.10019720
mov byte [esp + 0x60], 0x29
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x78]
call fcn.10031c60
mov esi, eax
add esp, 4
cmp esi, edi
setne bl
mov byte [esp + 0x60], 0x27
mov eax, dword [esp + 0x40]
cmp eax, edi
je 0x10023a01
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
test bl, bl
jne 0x10023c1b
mov byte [esp + 0x60], 0x26
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x10023a1e
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x21
lea ecx, [esp + 0x2c]
call fcn.10002690
cmp esi, edi
jne 0x10023a7d
lea eax, [esp + 0x74]
push eax
lea ecx, [esp + 0x48]
call fcn.10019720
mov byte [esp + 0x60], 0x2a
lea ecx, [esp + 0x44]
push ecx
lea ecx, [esp + 0x80]
lea edx, [esp + 0x1c]
call fcn.10031c60
add esp, 4
test eax, eax
setne bl
mov byte [esp + 0x60], 0x21
mov eax, dword [esp + 0x44]
cmp eax, edi
je 0x10023a75
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
jne 0x10023bb6
mov byte [esp + 0x60], 0x1f
lea ecx, [esp + 0x50]
push ecx
call fcn.100073a0
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x10023aa1
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [esp + 0x28]
add eax, 1
cmp eax, dword [esp + 0x48]
mov dword [esp + 0x28], eax
jl 0x100237e0
push str.registration:req_0122
lea ecx, [esp + 0x80]
call fcn.1000edb0
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x78]
call fcn.10019720
mov byte [esp + 0x60], 0x2b
lea ecx, [esp + 0x74]
push ecx
push ebp
lea ecx, [esp + 0x84]
call fcn.10031bd0
add esp, 8
test eax, eax
setne bl
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x74]
test eax, eax
je 0x10023b09
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
test bl, bl
mov esi, 0x8800800f
jne 0x10023b16
mov esi, dword [esp + 0x4c]
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
mov byte [esp + 0x60], 4
lea ecx, [esp + 0x20]
call fcn.10002690
mov byte [esp + 0x60], 2
mov eax, dword [esp + 0x24]
test eax, eax
je 0x10023b47
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10023b5c
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov dword [esp + 0x60], 0xffffffff
lea ecx, [esp + 0x1c]
call fcn.10002690
mov eax, esi
mov ecx, dword [esp + 0x58]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x50
ret 0x18
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x74]
jmp 0x1002315e
mov byte [esp + 0x60], 0x22
mov eax, dword [esp + 0x68]
cmp eax, edi
je 0x10023ba8
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x21
lea ecx, [esp + 0x6c]
call fcn.10002690
mov byte [esp + 0x60], 0x1f
lea eax, [esp + 0x50]
push eax
call fcn.100073a0
mov byte [esp + 0x60], 7
mov eax, dword [esp + 0x74]
cmp eax, edi
je 0x10023bda
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 5
lea ecx, [esp + 0x7c]
call fcn.10002690
mov byte [esp + 0x60], 4
lea ecx, [esp + 0x20]
call fcn.10002690
mov byte [esp + 0x60], 2
mov eax, dword [esp + 0x24]
cmp eax, edi
je 0x10023c0b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 1
mov eax, dword [esp + 0x18]
cmp eax, edi
jmp 0x10022fb6
mov byte [esp + 0x60], 0x26
mov eax, dword [esp + 0x70]
cmp eax, edi
je 0x10023c30
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov byte [esp + 0x60], 0x21
lea ecx, [esp + 0x2c]
jmp 0x10023bb1